当前,我面临一个问题。如果我使用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);
有什么方法可以禁用弹出窗口阻止程序吗?
答案 0 :(得分:0)
仅禁用弹出窗口。我的意思是浏览器上下文与JS相同,因此请创建一个辅助方法来调用下一个脚本:
await page.evaluate(() => document.alert = window.alert = alert = () => {};)