出于培训目的,我在亚马逊的特定页面上单击一个按钮,打开一个内部“弹出窗口”。 因此,Puppeteer 看不到弹出窗口,我无法单击和处理元素。
让我们从 https://www.amazon.de/ 开始。
使用 puppeteer,我正在运行:
await page.evaluate(() =>{
document.querySelector('.nav-a.nav-a-2.a-popover-trigger.a-declarative').click();
}
});
它打开内部弹出窗口。
如何处理这个新的内部页面:在输入框中键入文本,然后单击元素?
最佳答案
实际上这不是一个弹出窗口,而是一个弹出窗口。当您实际单击选择器后,它将在 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");
之后,您可以单击并在弹出窗口中输入所需的文本。
关于javascript - NodeJS 使用 Puppeteer 处理弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60821266/