javascript - Page.addScriptTag() 不适用于路径或内容
问题描述
我一直在尝试使用 puppeteer 在 javascript 中注入一个共享的网络工作者,以便消除继续进出文档(避免频繁序列化)范围的需要。但是 Page.addScriptTag() 似乎不起作用。到目前为止,我已经尝试了以下以及更多
const shared_worker_path = path.join(__dirname, "js_shared_worker.js");
await browser.on("targetchanged", async target => {
let p = await target.page();
//Tried to wait for body. doesn't help.
await p.waitForSelector("body");
//Tried waiting for navigation too does't help
page.on('console', (msg) => console.log(msg.type().toUpperCase() + ":", msg.text()));
await p.evaluate(async () => {
//
alert("I don't understand why!");
}); let eh = await p.addScriptTag({
//this doesn't work
path:shared_worker_path,
//This doesn't work too
//content: (async () => {
// alert("Just discovered a new deadend. wanna test?");
//})()
});
//works
console.log(p.url());
//Prints: Promise{ <pending> }
console.log(eh.jsonValue());
});
如果我试图实现的目标(由代码暗示)是不可行的,那么如果知道的话,我将不胜感激。我也知道几乎相似的现有问题,它们解决的问题与我想要解决的问题不同。如果您尝试了代码,请对警报感到抱歉。
js_shared_worker.js
alert( document.querySelector("script[src*=js_shared_worker.js]").getAttribute("src") );
我提前感谢您的帮助。
解决方案
推荐阅读
- google-search-api - Chainlink 请求未在后续路径返回整数
- python - Altair 图表:在网格中显示较少的线条
- excel - #N/A 错误,由 Excel 2016 中包含 UDF 的复制/粘贴值单元格引起
- javascript - React/Anychart - 呈现工具提示时图表消失
- kubernetes-helm - 用于多个入口/路径的 helm 入口模板
- r - R mutate 函数与两个表
- html - 4 列 TD 表在移动屏幕中使用 CSS 转换为 2 列(无 TH)
- javascript - 如何用javascript深入一棵树?
- java - 在我的代码中,它仅在 excel 中仅打印最后一页数据
- loops - 如何使用带有 jinja 代码的脚本模块循环执行 ansible 任务