ChromeDriver 是 google 为网站开发人员提供的自动化测试接口,它是 selenium2 和 chrome浏览器 进行通信的桥梁。selenium 通过一套协议(JsonWireProtocol :https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol)和 ChromeDriver 进行通信,selenium 实质上是对这套协议的底层封装,同时提供外部 WebDriver 的上层调用类库。
下面看下解决使用selenium自动控制浏览器找不到Chromedriver,具体内容如下:
最近学习爬虫过程中使用了selenium模块通过调用Chromedriver来实现自动控制Chrome,但其中遇到一些问题,在此总结。
首先,下载ChromeDriver时一定要对应好自己的浏览器版本,下载链接:http://npm.taobao.org/mirrors/chromedriver/
将下载好的ChromeDriver保存至Chrome浏览器的安装文件夹下
然后将ChromeDriver的路径配置到环境变量Path中,此时正常情况下调用ChromeDriver应该可以正常使用,
1
2
3
4
|
from selenium import webdriver browser = webdriver.Chrome() browser.get('http://www.baidu.com/') |
或者
1
2
3
4
5
6
|
from selenium import webdriver options = webdriver.ChromeOptions() #options.add_argument('user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36"') driver = webdriver.Chrome(chrome_options=options) driver.get('https://www.baidu.com/') |
但有的电脑即使配置完环境变量依旧不能正常使用,看了其他博主所写,有的建议将ChromeDriver放置在python的安装目录以及工作目录下,结果是依然不起作用,产生报错:WebDriverException: Message: unknown error: cannot find Chrome binary那就只能采用设置路径的方法进行调用,如下:
1
2
3
|
from selenium import webdriver browser = webdriver.Chrome('你的Chromedriver路径') browser.get('http://www.baidu.com/') |
或
1
2
3
4
5
6
|
from selenium import webdriver options = webdriver.ChromeOptions() #options.binary_location = r'你的Chrome安装路径' #options.add_argument('user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36"') driver = webdriver.Chrome(chrome_options=options,executable_path=r'你的Chromedriver路径') driver.get('https://www.baidu.com/') |
总结
以上所述是小编给大家介绍的解决使用selenium自动控制浏览器找不到Chromedriver问题,希望对大家有所帮助,也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/weixin_42508908/article/details/85986029