NodeJS 使用 Puppeteer 处理弹出窗口
NodeJS Handle Pop-up with Puppeteer
出于培训目的,我在 Amazon 的特定页面上单击打开内部 "pop-up" 的按钮。
因此,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");
之后您可以单击并在弹出窗口中键入您想要的文本。
出于培训目的,我在 Amazon 的特定页面上单击打开内部 "pop-up" 的按钮。 因此,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");
之后您可以单击并在弹出窗口中键入您想要的文本。