python - 使用 phantomjs 打开页面不完整,是哪里出了问题?
我想大声告诉你
我想大声告诉你 2017-05-18 10:58:18
0
3
889

我在使用 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 是从官网下载的压缩包安装的

最后加载的界面截图:

我想大声告诉你
我想大声告诉你

全部回复(3)
phpcn_u1582

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

漂亮男人

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

滿天的星座

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!