使用selenium時出現 " FileNotFoundError: [WinError 2] 系統找不到指定的檔案。" 的解決辦法。
阿新 • • 發佈:2019-02-08
在使用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/")