javascript - Puppeteer 错误 错误 : waiting on selector times out

标签 javascript node.js web-scraping puppeteer

目前我有一个网站,它的 HTML 中有这个。我通过检查 chrome 开发人员工具中的元素确认了这一点。

<div class="hdp-photo-carousel" style="transform: translateX(0px);">
  <div class="photo-tile photo-tile-large">

我在视觉上看到页面打开,我可以看到项目在那里。然后我在 30 秒后收到此错误:
UnhandledPromiseRejectionWarning: TimeoutError: waiting for selector ".photo-tile" failed: timeout 30000ms exceeded

我在 puppeteer js 中的代码是:
await page.waitForSelector('.photo-tile');

谁能告诉我我做错了什么?

编辑我正在添加整个代码:
const pptrFirefox = require('puppeteer-firefox');

(async () => {
  const browser = await pptrFirefox.launch({headless: false});
  const page = await browser.newPage();
  await page.goto('https://zillow.com');
  await page.type('.react-autosuggest__input', '8002 Blandwood Rd. Downey, CA 90240');
  await page.click('.zsg-search-button_primary');
  await page.waitForSelector('.photo-tile');

        console.log('did I get this far?');

})();

最佳答案

您需要添加page.waitForNavigation()每次页面内容更新。

(async () => {
  const browser = await pptrFirefox.launch({headless: false});
  const page = await browser.newPage();
  const navigationPromise = page.waitForNavigation({waitUntil: "domcontentloaded"});
  await page.goto('https://zillow.com');
  await navigationPromise;
  await page.type('.react-autosuggest__input', '8002 Blandwood Rd. Downey, CA 0240');
  await page.click('.zsg-search-button_primary');
  await navigationPromise;
  await page.waitForSelector('.photo-tile');

  console.log('did I get this far?');

})();

关于javascript - Puppeteer 错误 错误 : waiting on selector times out,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54681229/

相关文章:

javascript - Req.body为空node.js和express

node.js - 如何使 Nodejs 拾取更改而不是每次都重新启动服务器?

python - Selenium 对我来说真的很慢,我的代码有问题吗?

python - 从 IMDb 收集某些剧集的所有电影评论

javascript - 如何更改下面的 url 重定向脚本

javascript - Highcharts 类型 : X-Range no space between two data sets

javascript - jquery组合框比较

javascript - JS : from RGB Blue to RGB Red

HTML 文件作为 Node.js 中的变量

java - 如何使用 HTMLUnit 确定页面更改?