首页 > 解决方案 > PhantomJS 没有足够的时间加载整个页面

问题描述

(很抱歉,由于凭证原因,我无法分享代码)

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

我尝试过的几件事:

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

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

技术:PhantomJS 2.1.1

感谢您的任何建议!

标签: javascripthtmlphantomjs

解决方案


推荐阅读