在某些页面上,我的chrome扩展程序注入的代码会刮取一些DOM节点的文本并将其发送到后台脚本。
仅在单击触发异步调用的按钮后,才能看到一个这样的节点-这是一个小的弹出窗口div
,单击后会出现几毫秒。
我考虑过只onClick
在内容脚本中复制按钮的代码,但是js相当复杂且丑陋,因此我还无法弄清楚调用在做什么。我也不确定是否可以从内容脚本访问站点js的名称空间。
我现在的计划是仅调用按钮的.click()
方法并刮取结果div
,但刮板找不到div
。
我认为这可能是异步延迟问题,因此要测试此问题,我设置了一个较长的超时时间:
document.querySelector('#buttonId').click();
setTimeout(console.log(document.querySelector('#popupDiv').innerText), 4500);
不幸的是,延迟函数仍然返回null
。
有没有更好的方法可以做到这一点?
当使用带有id的querySelector时,您需要在它们前面加上“#”。
您还需要将超时包装在匿名函数中。
document.querySelector("#buttonId").click()
setTimeout(function() {
console.log(document.querySelector("#popupDiv").textContent)
}, 4500)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句