Я пытаюсь очистить значения со страницы, которые были созданы сценарием JS. Когда я проверяю страницу, я вижу там значения, но мои селекторы возвращают null / undefined.
Цель расширения - позволить людям одним нажатием кнопки очистить свои персональные данные со страницы который требует входа в систему БЕЗ необходимости предоставлять какие-либо данные для входа в расширение.
В chrome -консоли возвращаются значения stati c "title", поэтому я почти уверен, что мои селекторы в порядке и просто доступ к документу не учитывается для выполненных скриптов. d необходимо получить данные для входа в систему, чтобы имитировать процесс входа), или мне нужно изменить способ запуска браузера chrome с --remote-debugging-port=A_PORT_NUMBER
, чего я хочу избежать.
С консоли chrome и мое расширение, я могу получить значения, выделенные зеленым (так что это не проблема с iframe, как предлагают некоторые сообщения) и не могу получить значения, выделенные красным.
HTML структура на изображении
document.addEventListener("DOMContentLoaded", function () {
...
document.querySelector('button[id="scrape"]').addEventListener("click", function onclick() {
chrome.tabs.query({ currentWindow: true, active: true },
function (activeTab) {
chrome.tabs.sendMessage(activeTab[0].id, { action: "putSource_scrapeSalePage", index: activeTab[0].index })
}
)
})
...
}, false)
Из содержимого. js
//Need to import pupeteer/selenium here? How else to use it for active tab?
chrome.runtime.onMessage.addListener(
function (request, sender, sendResponse) {
...
else if (request.action === "putSource_scrapeSalePage") {
let htmlvar = $(document)
console.log(htmlvar);
let test = $('td[desc= "transactionType"]').text().trim() //returns fine
let tableData1raw = $('table.tableDataOne tbody tr').find("tbody").find("tr")
let tableData1raw_almost = $(tableData1raw).each(function (i, element) {
console.log(element)
const $element = $(element).find("td")
console.log($element)
...
Вопрос:
Если нет лучшего способа сделать это, как я могу сделать это из контент-скрипта с чем-то вроде pupeteer?