小编pes*_*mer的帖子

在 Puppeteer 中使用 browser.pages() 切换到新选项卡

我正在尝试这样做:

  1. 打开谷歌

  2. 搜索“伦敦的酒店”

  3. 点击“查看3810家酒店”

---新页面打开---

  1. 点击第一家酒店的“了解更多”按钮

---新页面打开---

  1. 点击“价格”

---新页面打开---

  1. 抓取一些信息

我已成功完成步骤 1-4,但我陷入了步骤 5,因为 puppeteer 不会自动点击价格。事实上,第 5 步没有任何反应。我了解到这是因为“Prices”选择器不断变化,这就是我应该使用 page.$() 的原因。然而,这也没有帮助。

这是我的代码:

const puppeteer = require("puppeteer");

(async () => {
  try {
    const browser = await puppeteer.launch({
      headless: false,
    });
    const page = await browser.newPage();

    //google.com
    await page.goto("https://google.com");
    await page.type("input.gLFyf.gsfi", "hotels in london");
    await page.keyboard.press("Enter");

    //search results
    await page.waitForSelector(
      "#rso > div:nth-child(2) > div > div > div > g-more-link > a > div"
    );
    await page.click(
      "#rso > div:nth-child(2) > div …
Run Code Online (Sandbox Code Playgroud)

xpath jquery-selectors node.js puppeteer

5
推荐指数
1
解决办法
6823
查看次数

标签 统计

jquery-selectors ×1

node.js ×1

puppeteer ×1

xpath ×1