在使用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
http://npm.taobao.org/mirrors/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/")