【问题标题】:page.goto request for web page keeps loading with networkidle0 in puppeteerpage.goto 请求网页在 puppeteer 中不断加载 networkidle0
【发布时间】:2020-09-02 09:39:14
【问题描述】:

什么时候使用

page.on('request', req => {
      try {
        const whitelist = ['document', 'script', 'xhr', 'fetch'];
        requestUrl = req.url();
        if (!whitelist.includes(req.resourceType())) {
          return req.abort();
        }
        req.continue();
      } catch(err) {
        console.log(err);
      }
    });
await page.goto("https://b2b.qq.com/busin?keywords=%E8%BE%93%E9%80%81%E6%9C%BA" , {waitUntil: 'networkidle0', timeout: 0});
result = await page.content();

请求无法返回任何结果。看起来页面即使有足够的时间也无法加载。如何调试 puppeteer 以找出为什么它一直加载而无法返回结果。

顺便说一下,url可以在浏览器中加载。

【问题讨论】:

  • 我发现page.on是循环执行的,为什么?

标签: puppeteer


【解决方案1】:

如果为 req 类型和 URL 添加控制台日志,您将看到页面无限尝试加载 URL https://btrace.qq.com/kvcollect?...many tracing data 的图像。也许站点代码会检查此图像,如果未加载它会无限重试。

【讨论】:

  • 如你所说,我中止了图像请求,但上面的url是一个数据报告url,如果中止它会重新发送。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-15
  • 1970-01-01
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 2018-02-01
  • 2020-05-19
相关资源
最近更新 更多