Ubuntu18.04安裝Selenium和環境搭建

孤雲發表於2020-10-10

1. Python安裝Selenium模組

pip install Selenium 

2. 下載瀏覽器驅動

  1. chrome驅動檔案下載:http://chromedriver.storage.googleapis.com/index.html
  2. firefox驅動檔案下載: https://github.com/mozilla/geckodriver/releases
  3. chrome瀏覽器需要下載對應版本的驅動,不然會報錯,找不到一致的版本號就找大版本號一樣的。我這裡就是版本沒對應,所以程式報錯了。

在瀏覽器位址列輸入 chrome://version/檢視chrome瀏覽器版本號
chrome-version

在這裡插入圖片描述
在這裡插入圖片描述
異常資訊:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 78

3. 解壓驅動檔案

  1. zip格式可以用unzip命令解壓
unzip chromedriver_linux64.zip
  1. gz格式用tar命令解壓
tar -zxvf geckodriver-v0.27.0-linux64.tar.gz
  1. 解壓出來有兩個可執行檔案chromedriver和geckodriver

unzip
4. 注意可執行檔名字不能更改,否則會報錯。
在這裡插入圖片描述

在這裡插入圖片描述

4. 環境配置

  1. 將解壓後的可執行檔案移動到系統環境變數的目錄中,輸入 echo $PATH 檢視系統環境變數。環境變數不一定相同。
    在這裡插入圖片描述
  2. 我這裡是將存放驅動的目錄配置到系統變數中的,我覺得這樣比較方便擴充套件,而且也不會擔心之後忘了放哪裡的。
  3. 當然也可以選擇移動到系統的環境變數,比如移動到/usr/local/bin目錄下。
sudo mv chromedriver /usr/local/bin/
sudo mv geckodriver  /usr/local/bin/

在這裡插入圖片描述

5. 驗證環境

  1. 在終端輸入chromedriver和geckodriver驗證。輸出如圖下就代表環境配置成功了。
    在這裡插入圖片描述
  2. 如下顯示則表示失敗了。
    在這裡插入圖片描述

6. pycharm編寫程式碼測試

測試程式碼,正常執行會輸出url地址的html原始碼。

  1. Firefox
from selenium import webdriver

url = "https://www.baidu.com"
driver = webdriver.Firefox()
driver.get(url)
print(driver.page_source)
driver.close()
  1. Chrome
from selenium import webdriver

url = "https://www.baidu.com"
driver = webdriver.Chrome()
driver.get(url)
print(driver.page_source)
driver.close()

7. 執行出現異常

  1. 如果出現以下異常參考這篇部落格解決 以root許可權執行瀏覽器
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process

相關文章