使用 phantomjs 打开页面不完整,是哪里出了问题?
我在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
从截图来看应该是编码的问题,中文字符都无显示
试试
python3
吧,2.7对中文编码一直不太友好 :)1、你可以尝试把获取的源代码保存到文件中,以.html文件保存,用浏览器打开看下页面正常吧。
2、也可能是字符串编码不对,百度一下中文那四个字显示都不正常,你可以在代码中把获取的代码转码一下,然后再处理截图。
可以先试下第一步
安装中文字体……