微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PhantomJS 没有足够的时间加载整个页面

如何解决PhantomJS 没有足够的时间加载整个页面

(很抱歉,由于凭据原因,我无法共享代码

我正在尝试使用 PhantomJS 来模拟用户访问网页。该页面仅部分加载(仅加载导航栏)。将屏幕截图 (page.render()) 与通过浏览器手动打开的网页进行比较,布局看起来比预期的要奇怪,这也很奇怪。我一开始以为是因为我需要等待更多的时间/页面还没有加载完成;然而,在将等待时间延长至 300 秒后,它仍然没有加载。此外,即使页面看起来没有完全加载,我也可以单击导航部分上的按钮。我可以要求任何潜在的解决方案吗?

我尝试过的几件事:

  1. 尝试利用 onRequestReceived()、on RequestRequested() 和所有其他事件侦听器。
  2. 试图等待很长时间。
  3. 尝试使用 --ignore-ssl-errors=true --web-security=no 运行脚本
  4. 'status' 没有失败。
  5. 目前我怀疑该 html 中可能有一些 JS 文件未正确导入,但不确定这是否是正确的调查方向。对此的任何建议也许是如何验证未导入哪些 js 文件?我尝试打印所有请求的资源,并注意到与浏览器的检查元素工具下的网络列表相比,有些资源丢失了。

值得一提的是,我尝试使用 Selenium 来做同样的事情,页面加载完美,所以 url/html 本身没有问题。 (由于某些场景,我们更喜欢使用 PhantomJS。)

技术:PhantomJS 2.1.1

感谢您的建议!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。