1. 程式人生 > >使用selenium時出現 " FileNotFoundError: [WinError 2] 系統找不到指定的檔案。" 的解決辦法。

使用selenium時出現 " FileNotFoundError: [WinError 2] 系統找不到指定的檔案。" 的解決辦法。

在使用python的selenium模組模擬瀏覽器登入,使用的下面的程式碼

#author: aspiring

from selenium import webdriver

# 例項化一個瀏覽器
driver = webdriver.Chrome()
# 傳送請求
driver.get("http://www.baidu.com/")

然後出現瞭如下的錯誤 :
 

Traceback (most recent call last):
  File "C:\Users\Administrator\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start
    stdin=PIPE)
  File "C:\Users\Administrator\Anaconda3\lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "C:\Users\Administrator\Anaconda3\lib\subprocess.py", line 997, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] 系統找不到指定的檔案。

 錯誤的原因提示系統找不到指定的檔案,導致錯誤的原因有兩個:其一,找不到chromedriver,其二:修改subprocess.py檔案中__init__中的shell=False。

修改一,找到對應的chromedriver版本:

然後使用下面的連結(淘寶映象)下載相應的chromedriver

解壓後只有一個chromedriver.exe檔案放置到谷歌瀏覽器安裝的資料夾下,比如我的放置位置:

 

最後將這個路徑新增到windows環境的path中即可。

修改二,修改subprocess.py檔案中__init__中的shell=False。

找到subprocess.py檔案

 然後修改__init__中的shell使shell=True,即可。

修改完畢,修改後如下即可開啟所請求的網址了。

#author: aspiring

from selenium import webdriver


# 例項化一個瀏覽器,並新增chromedriver路徑
chromedriver_path = "C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe"
driver = webdriver.Chrome(chromedriver_path)

# 傳送請求
driver.get("http://www.baidu.com/")