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/

使用selenium自动控制浏览器找不到Chromedriver问题

将下载好的ChromeDriver保存至Chrome浏览器的安装文件夹下

使用selenium自动控制浏览器找不到Chromedriver问题

然后将ChromeDriver的路径配置到环境变量Path中,此时正常情况下调用ChromeDriver应该可以正常使用,

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://www.baidu.com/')

或者

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那就只能采用设置路径的方法进行调用,如下:

from selenium import webdriver
browser = webdriver.Chrome('你的Chromedriver路径')
browser.get('http://www.baidu.com/')

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问题

总结

以上所述是小编给大家介绍的解决使用selenium自动控制浏览器找不到Chromedriver问题,希望对大家有所帮助,也非常感谢大家对网站的支持!

标签:
ChromeDriver安装,ChromeDriver配置

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。