python中webdriver_Linux上部署python+selenium+webdriver常见问题解决方案
折騰了幾天的WechatScraper終于部署到Linux服務器上能生產使用了
用篇文章來記錄下部署過程中遇到的各種bug和坑。
1. 運行問題
webdriver在有GUI界面的系統上運行是只需要下載chromedriver或者geckodriver等就能直接帶動瀏覽器運行,只需要創建一個瀏覽器實例就行了
from selenium import webdriver
broswer = webdriver.Chrome(executable_path=/path/to/chromedriver, chrome_options)
在有些不帶GUI界面的Linux機器上,如果想要使用webdriver,首推的方案是Python+Selenium+PhantomJS,PhantomJS是一個無頭瀏覽器,即使沒有GUI界面也能正常運行,常用于測試等環境。
因為沒有GUI,如果我們想使用Chrome/Firefox等瀏覽去,我們就需要Xvfb和python的pyvirtualdisplay庫,給瀏覽器創造一個運行環境,這樣瀏覽器就能順利運行了。
注:實際檢測,PhantomJS在獲取搜索結果的時候跟Firefox/Chrome差別很大,具體原因不太清楚,希望有人能解惑。
2. Executable path
這個常見的報錯是
the path to the driver executable must be set blabla...
當webdriver調起瀏覽器時,需要在系統路徑中找到geckodriver或者chromedriver這些能操控瀏覽器的驅動,所以我們需要將這些文件復制到/usr/bin或者/usr/local/bin或者/usr/sbin這幾個文件夾下,這樣才能讓webdriver順利調起瀏覽器供我們使用。
3. chrome not reachable
這個報錯比較奇怪,而且當直接去以
cd /path/to/chromedriver && ./chromedriver
這個命令執行的時候,會報錯glibc-版本號未安裝,這個猜測是因為版本不匹配導致的,因為我后來換了低版本的chromedriver是可以直接運行的,所以如果你的系統上glibc版本不高的話,建議使用低版本的chrome和chromedriver。
結語
暫時想到的就這幾個,如果有什么問題,可以直接在評論區回復,如果有其它解決方案或者錯誤之處,歡迎指出。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的python中webdriver_Linux上部署python+selenium+webdriver常见问题解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 服务端渲染_客户端渲染和服
- 下一篇: 义乌市第二次集聚房票哪些楼盘能用