使用 phantomjs 打开页面不完整,是哪里出了问题?

发布于 2022-09-04 20:59:32 字数 786 浏览 13 评论 0

我在使用 phantomjs 模拟登陆时,在本机 windows 上完全没有问题,但是部署到服务器 docker 中的 ubuntu14.04 上就不行,发现页面没有加载完,没有找到解决的办法。最简单的一个例子也会失败的例如:

from selenium import webdriver
login_url = "https://www.baidu.com"
img_name = './img.png'
if __name__ == '__main__':
    driver = webdriver.PhantomJS()
    driver.implicitly_wait(20)
    driver.get(login_url)
    driver.save_screenshot(img_name)

试过隐式等待加载;强制等待 sleep;调整 window 大小;页面上域名都能 ping 通。都没有解决,我怀疑是不是安装 phantomjs 时不太对?先是使用 apt-get 安装的,但是 --version 提示一个错误,然后按照这个错误找的答案就是在官网下载压缩包安装并配置环境变量,也是这么做了,就出现这个问题了。

环境:
docker 中的 ubuntu14.04
python2.7
phantomjs 2.1.1 是从官网下载的压缩包安装的

最后加载的界面截图:
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

少年亿悲伤 2022-09-11 20:59:32

从截图来看应该是编码的问题,中文字符都无显示

靑春怀旧 2022-09-11 20:59:32

试试python3吧,2.7对中文编码一直不太友好 :)

花辞树 2022-09-11 20:59:32

1、你可以尝试把获取的源代码保存到文件中,以.html文件保存,用浏览器打开看下页面正常吧。
2、也可能是字符串编码不对,百度一下中文那四个字显示都不正常,你可以在代码中把获取的代码转码一下,然后再处理截图。
可以先试下第一步

是伱的 2022-09-11 20:59:32

安装中文字体……

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文