如何禁用弹出窗口阻止程序?

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 = () => {};)

以上是关于如何禁用弹出窗口阻止程序?的主要内容,如果未能解决你的问题,请参考以下文章

winform如何让弹出窗口始终置于程序最顶层

IE9怎么设置阻止弹出窗口

VC++如何实现 弹出窗口,然后等窗口关闭后再执行剩下的代码?

过滤 ListView 时如何禁用搜索文本弹出窗口?

winform如何让弹出窗口始终置于程序最顶层,请问这个你是怎么实现的。

Android Studio 编辑器:如何禁用导入建议的蓝色弹出窗口