【问题标题】:NodeJS Handle Pop-up with PuppeteerNodeJS 使用 Puppeteer 处理弹出窗口
【发布时间】:2020-03-24 05:28:56
【问题描述】:

出于培训目的,我从亚马逊上的特定页面单击一个按钮,打开一个内部“弹出窗口”。 因此,Puppeteer 看不到弹出窗口,我无法单击和处理元素。

让我们从 https://www.amazon.de/ 开始。

使用 puppeteer,我正在跑步:

await page.evaluate(() =>{
        document.querySelector('.nav-a.nav-a-2.a-popover-trigger.a-declarative').click();
        }
      });

它会打开内部弹出窗口。

如何处理这个新的内部页面:在输入框中键入文本,然后单击元素?

【问题讨论】:

    标签: javascript node.js web-scraping popup puppeteer


    【解决方案1】:

    其实不是弹窗而是弹窗。实际单击选择器后,它将在 DOM 中可见和可访问

    await page.evaluate(() =>{
       document.querySelector('.nav-a.nav-a-2.a-popover-trigger.a-declarative').click();
    });
    

    如果您不确定是否可以使用弹出框,您需要等待加载。

    await page.waitForSelector(".a-popover.a-popover-modal.a-declarative");
    

    之后,您可以单击并在弹出框中键入所需的文本。

    【讨论】:

    • 缺少的部分是 waitForSelector ;-)。非常感谢
    猜你喜欢
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 2013-02-03
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多