python - 使用 phantomjs 打開頁面不完整,是哪里出了問題?
問題描述
我在使用 phantomjs 模擬登陸時,在本機 windows 上完全沒有問題,但是部署到服務器 docker 中的 ubuntu14.04 上就不行,發現頁面沒有加載完,沒有找到解決的辦法。最簡單的一個例子也會失敗的例如:
from selenium import webdriverlogin_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.04python2.7phantomjs 2.1.1 是從官網下載的壓縮包安裝的
最后加載的界面截圖:
問題解答
回答1:從截圖來看應該是編碼的問題,中文字符都無顯示
回答2:試試python3吧,2.7對中文編碼一直不太友好 :)
回答3:1、你可以嘗試把獲取的源代碼保存到文件中,以.html文件保存,用瀏覽器打開看下頁面正常吧。2、也可能是字符串編碼不對,百度一下中文那四個字顯示都不正常,你可以在代碼中把獲取的代碼轉碼一下,然后再處理截圖。可以先試下第一步
相關文章:
