注:此笔记默认已安装好selenium模块。
问题:在pycharm中用虚拟环境env时,执行如下代码时:
1 from selenium import webdriver 2 import time 3 4 if __name__ == "__main__": 5 driver = webdriver.Chrome() 6 driver.get('https://www.baidu.com') 7 time.sleep(5) 8 driver.quit()
报错信息如下:
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH
解决方法:
1、安装chromedriver;
方法1:在bash中执行命令安装:brew install chromedriver
方法2:通过网页寻找合适的版本: http://chromedriver.storage.googleapis.com/index.html,具体chromedriver和chrome浏览器版本的对应关系,可以网上搜索一下。
2、设置环境变量:
a、如果是用brew安装的,可以在/usr/local/Cellar/chromedriver/2.31/bin中找到chromedriver,
- 可以打开~/.bash_profile:sudo vi ~/.bash_profile
- 中增加一条命令: export PATH=$PATH:/usr/local/Cellar/chromedriver/2.31/bin
- 保存: :x
- 重新加载环境: source ~/.bash_profile
b、把下载的chromedriver移动到/usr/local/bin中
- mv ./chromedirver /usr/local/bin
c、或者,直接把chromedriver移动到/usr/bin中
- mv ./chromedriver /usr/bin
3、如果此时,在本地中通过python可以成功运行问题中代码,而在pycharm的虚拟环境env下还报以上对应的错误,可以如下解决:
把chromedriver文件,复制到虚拟环境的bin目录中
出错原因分析:
- 在pycharm的env中,打印环境的路径信息:
import os
print(os.environ)
- 你会发现在路径中,没有包含chromedriver的目录,所以会报错,提示找不到文件chromedriver,需要加入到PATH中