木偶:如何动态响应弹出窗口?

时间:2019-07-03 08:54:41

标签: javascript jquery events web-scraping puppeteer

我正在尝试学习伪造者来抓取网站,到目前为止,对我来说最困难的任务是弄清楚如何编码对基于用户交互可能发生的动态弹出窗口的响应。

例如,对于未登录时刮擦玻璃门的情况,阅读过多评论后通常会出现“登录弹出”窗口,我想尝试

  1. 如果未显示弹出窗口,则使抓取工具正常进行
  2. 并且有特殊的响应(登录或退出弹出窗口),如果弹出窗口确实出现。

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...
      });

  })

非常感谢您提前提出任何建议。

0 个答案:

没有答案