首頁  >  問答  >  主體

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 天前894

全部回覆(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
  • 取消回覆