我正在尝试学习伪造者来抓取网站,到目前为止,对我来说最困难的任务是弄清楚如何编码对基于用户交互可能发生的动态弹出窗口的响应。
例如,对于未登录时刮擦玻璃门的情况,阅读过多评论后通常会出现“登录弹出”窗口,我想尝试
page.on
(如here所述)似乎可以做到,但是我如何让它处理随机出现的<div class="Login window popup">
?
const puppeteer = require("puppeteer");
// puppeteer usage as normal
puppeteer.launch({ headless: false }).then(async browser => {
const page = await browser.newPage();
const navigationPromise = page.waitForNavigation();
await page.setViewport({ width: 1440, height: 794 });
var data = [];
await page.goto('https://www.glassdoor.com/Reviews/Grubhub-Reviews-E419089.htm');
// Perform some actions...
// Code dealing with popup
page.on('popup_element_handle', async dialog => {
// Log in actions...
});
})
非常感谢您提前提出任何建议。