由于某种原因,我的executeScript
功能无法正常工作。这是我的代码:
async function scrape_get_url(){
console.log("Getting url: " + from_url);
var tab_id;
chrome.tabs.create({ "url": from_url}, function(newTab){
tab_id = newTab.id;
console.log("Checking for tab url update");
});
chrome.tabs.onUpdated.addListener( function(tabId, info) {
if(tabId == tab_id && info.url){
console.log("Executing scrape script");
console.log("tab id:" + tab_id);
console.log("updated tab url:" + info.url);
chrome.scripting.executeScript({
target: {tabId: tab_id},
function: scrape
});
}
});
}
function scrape(){
console.log("Getting Element...");
}
这是我的输出:
Getting url: https://developer.chrome.com/docs/extensions/mv3/getstarted
Checking for tab url update
Executing scrape script
tab id:293
updated tab url:https://developer.chrome.com/docs/extensions/mv3/getstarted/
onUpdated
由于 chrome 错误,我有一个听众,如此处所述。此外,我将函数放在函数回调之外的原因是onUpdated
,create
根据 StackOverflow 上的另一个问题(我再也找不到了:/),将executeScript
create
我的权限在清单文件中设置正确。