如何禁用弹出窗口阻止程序?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何禁用弹出窗口阻止程序?相关的知识,希望对你有一定的参考价值。
当前,我面临一个问题。如果我用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);
有什么方法可以禁用弹出窗口阻止程序吗?
答案
仅禁用弹出窗口。我的意思是浏览器上下文与JS相同,因此请创建一个辅助方法来调用下一个脚本:
await page.evaluate(() => document.alert = window.alert = alert = () => {};)
以上是关于如何禁用弹出窗口阻止程序?的主要内容,如果未能解决你的问题,请参考以下文章
VC++如何实现 弹出窗口,然后等窗口关闭后再执行剩下的代码?