0
這裏是我做過什麼:不能操縱通過chrome.tabs創造了新的選項卡的DOM
chrome.tabs.create({url:msg.url}, function(tab) {
chrome.tabs.executeScript(tab.id, {
runAt:"document_end",
allFrames:true,
code:"var ready = function(fn){ if(typeof fn!== 'function') return ; if(document.readyState === 'complete') {return fn();} if(document.readyState === 'interactive'){ return fun(); };}; ready(function() { console.log(document.querySelector('#rso h3 a')) alert('yes'); document.querySelector('#rso h3 a').click(); });"
});
});
但似乎在孤立的環境中運行的js,所以我不能操縱DOM,有沒有什麼解決方法嗎?
我也試過code
屬性僅包含下面的代碼片段
document.querySelector('#rso h3 a').click();
PS:如果code
屬性,例如到alert()
函數的調用,它完美地炒菜。
什麼是真正的非工作代碼?你想訪問由頁面設置的變量嗎?此外,該網站可能會動態添加其內容,因此您可能需要一個MutationObserver或setTimeout。 – wOxxOm
@wOxxOm:編輯帖子並添加了代碼。代碼有額外的部分是爲了確保代碼在DOM準備好後運行。 – cipher
什麼是'document.addEventListener('interactive')'? –