最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

自动关闭网站上的弹出窗口

IT培训 admin 12浏览 0评论

自动关闭网站上的弹出窗口

我在一个随机出现弹出窗口的网站上使用人偶。它们很少出现,但是这样做时,DOM会临时更改,直到手动关闭弹出窗口为止,这会导致我的程序崩溃。

我试图通过侦听此类弹出窗口来解决此问题,并在发生任何情况时立即使操纵p的人立即单击'x'按钮。

我这样尝试过:

page.on('domcontentloaded', async function() {
    await page.waitForSelector('#popover-x', {
      timeout: 3000
    });
    let closePopoverButton = await page.$('#popover-x');
    if (closePopoverButton != null) { // if the new DOM-content is actually a popover
      await closePopoverButton.click();
    }
  });

并且像这样:

page.on('domcontentloaded', async function() {
    await page.waitForSelector('#popover-x', {
      timeout: 3000
    });
    await page.$eval('#popover-x', (element) => {
      element.click();
    });
  });

两者都导致正确选择了X按钮,但是弹出窗口没有关闭。也没有错误发生。

(X按钮(#popover-x)不是实际的按钮,而是一个微小的div,用于监听其中的单击事件)

有什么想法吗?

回答如下:

您是否定义了单击“#popover-x”按钮时关闭弹出窗口的功能,>

自动关闭网站上的弹出窗口

我在一个随机出现弹出窗口的网站上使用人偶。它们很少出现,但是这样做时,DOM会临时更改,直到手动关闭弹出窗口为止,这会导致我的程序崩溃。

我试图通过侦听此类弹出窗口来解决此问题,并在发生任何情况时立即使操纵p的人立即单击'x'按钮。

我这样尝试过:

page.on('domcontentloaded', async function() {
    await page.waitForSelector('#popover-x', {
      timeout: 3000
    });
    let closePopoverButton = await page.$('#popover-x');
    if (closePopoverButton != null) { // if the new DOM-content is actually a popover
      await closePopoverButton.click();
    }
  });

并且像这样:

page.on('domcontentloaded', async function() {
    await page.waitForSelector('#popover-x', {
      timeout: 3000
    });
    await page.$eval('#popover-x', (element) => {
      element.click();
    });
  });

两者都导致正确选择了X按钮,但是弹出窗口没有关闭。也没有错误发生。

(X按钮(#popover-x)不是实际的按钮,而是一个微小的div,用于监听其中的单击事件)

有什么想法吗?

回答如下:

您是否定义了单击“#popover-x”按钮时关闭弹出窗口的功能,>

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论