使用selenium时出现 " FileNotFoundError: [WinError 2] 系统找不到指定的文件。" 的解决办法。

本文介绍在使用Python的Selenium模块模拟浏览器登录百度时遇到的错误及解决方法,包括下载并配置正确的chromedriver版本,以及修改subprocess.py文件中的参数。

在使用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/")

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值