首页  >  问答  >  正文

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

最后加载的界面截图:

我想大声告诉你我想大声告诉你2690 天前891

全部回复(3)我来回复

  • phpcn_u1582

    phpcn_u15822017-05-18 11:00:18

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

    回复
    0
  • 漂亮男人

    漂亮男人2017-05-18 11:00:18

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

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-18 11:00:18

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

    回复
    0
  • 取消回复