javascript - PhantomJS 没有足够的时间加载整个页面
问题描述
(很抱歉,由于凭证原因,我无法分享代码)
我正在尝试使用 PhantomJS 来模拟用户访问网页。该页面仅部分加载(仅加载导航栏)。将屏幕截图(page.render())与手动通过浏览器打开的网页进行比较,布局看起来比预期的要奇怪,这也很奇怪。我最初以为是因为我需要等待更多时间/页面还没有完成加载;但是,在将等待时间延长到 300 秒后,它仍然没有加载。此外,即使页面看起来没有完全加载,我也可以单击导航部分上的按钮。我可以询问任何潜在的解决方案吗?
我尝试过的几件事:
- 试图利用 onRequestReceived()、RequestRequested() 和所有其他事件侦听器。
- 试图等待很长时间。
- 尝试运行脚本
--ignore-ssl-errors=true --web-security=no
- “状态”没有失败。
- 目前我怀疑该html中可能有一些JS文件没有正确导入,但不确定这是否是正确的调查方向。关于此的任何建议可能如何验证未导入哪些 js 文件?我尝试打印所有请求的资源,并注意到与浏览器的 Inspect Element 工具下的网络列表相比,有些资源丢失了。
值得一提的是,我尝试使用 Selenium 来做同样的事情,并且页面加载完美,所以 url/html 本身没有问题。(由于某些情况,我们更喜欢仍然使用 PhantomJS。)
技术:PhantomJS 2.1.1
感谢您的任何建议!
解决方案
推荐阅读
- python - 在 Python 中将具有不同标题的 csv 文件与 Pandas 合并
- kubernetes - gitlab k8s auto devops,无效的参考格式
- c# - 将 Datagrid.dataSource 分配给数据表对象时,DataGrid 视图会花费大量时间
- object - Kotlin 在抽象类的非抽象函数中访问抽象函数
- c# - 访问 FlowLayoutPanels 的控件方法
- java - 使用扫描仪为另一个类中的变量赋值?
- python - Python 添加和获取魔法 (dunder) 方法
- android - 导航抽屉显示在我的活动中的视图下
- c++ - 我有 .lib 和 .dll 文件,但没有 .h - 如何在其他 C++ 项目中使用这些库中的方法?
- c++ - 多项式和偏差的c ++模板