【发布时间】:2020-06-10 17:59:31
【问题描述】:
目前,我面临一个问题。如果我使用headless: false 访问该页面,一切都很好。虽然headless: true 页面检测到弹出窗口阻止程序已启用,所以我无法继续执行剩余操作。
这是我的浏览器配置:
const browser = await puppeteer.launch({
args: ["--disable-popup-blocking", "--allow-popups-during-page-unload"],
headless: true
});
const page = await browser.newPage();
await page.setExtraHTTPHeaders({
"Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8"
});
await page.setUserAgent(
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
);
await page.setJavaScriptEnabled(true);
await page.setBypassCSP(true);
await page.goto(URL);
有什么方法可以禁用弹出窗口拦截器?
【问题讨论】:
-
我无法想象弹出窗口阻止是 chrome 的默认设置。这通常是一个插件对吗?您使用的二进制文件是什么?是你自己的浏览器吗?你应该为此下载一个 chrome 二进制文件。
-
@unflores 我正在使用内置的铬
-
看起来您启用了两个不同的参数。您是否尝试启用或禁用弹出窗口?你需要那个弹出窗口还是不需要?
-
@kirill.z 感谢兄弟的帮助,这实际上是一个已知的铬错误
-
@OysterD3 请与我分享那个错误?
标签: javascript node.js puppeteer