目錄
在Python中使用Selenium時發生錯誤
在Mac和Windows中,都會有一個系統預設的環境變數PATH Variable。環境變數記錄的是幾個系統預設的資料夾,在某些情況下,我們必須將某些檔案放入這幾個資料夾的其中之一,才能讀利讓Python讀取。最常見的情況之一即是使用Selenium套件時,需要將Chrome或是Firefox等瀏覽器的Webdriver放到這幾個資料夾中,否則會出現以下錯誤。
#Chrome
selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH.
#Firefox
selenium.common.exceptions.WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.
我也試過指定executable_path,卻出現另外的錯誤訊息:
chrome_path = r’/Users/Aron/’
driver = webdriver.Chrome(executable_path=chrome_path)
#Output
selenium.common.exceptions.WebDriverException: Message: ‘Aron’ executable may have wrong permissions.
解決辦法是修改成資料夾路徑加檔案名稱,而不是只有資料夾。
# Google Chomre
webdriver_path = r’/Users/Aron/chromedriver.exe’
driver = webdriver.Chrome(executable_path=webdriver_path)# Firefox,geckodriver不需要副檔名
webdriver_path = r’/Users/Aron/geckodriver’
driver = webdriver.Chrome(executable_path=webdriver_path)
以上是題外話,完成後連下面的PATH環境變數都不用修改了。那Mac中的PATH到底是什麼呢?網路上有很多文章,但我覺得大部份都寫得好複雜,對Python初學者很不友善。
MAC 預設的PATH
簡單明瞭,就是以下的五個路徑,你可以在Finder中按Cmd+Shift+G,直接跳至指定資料夾。圖片中的第六個選項則是我自己新增的路徑。
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

你可以試著直接將檔案丟到以上資料夾中,但可能會有權限問題,導致檔案拖曳失敗。那你可以試著新增路徑,並將檔案丟進新路徑中。
新增PATH環境變數的方法
1) 叫出搜尋列,輸入Terminal並按Enter。

2) 在Terminal中輸入以下指令,並按Enter。
sudo nano /etc/paths
3) 輸入你的密碼。當你輸入時,畫面上不會出現任何文字和符號,這是正常的。
4) 接下來你會看到上圖中的五條預設路徑。如果你只是要確認PATH是什麼的話,做到這一步就可以了。如果你想新增新的變數,將游標移到最下面並輸入即可。
5) 按Control-X離開。
6) 按Y存檔。
7) 在Terminal中再輸入一次這個指令,確定剛才的動作有確實存檔。
sudo nano /etc/paths
8) 大功告成!很簡單吧