mac下如何安装浏览器驱动chromedriver
在windows下运行webdriver时,没记得很复杂,可是使用mac真是费了一番周折。
问题一:
未安装chrome驱动时,使用webdriver调chrome,并使用get方法传url参数时会报错;
TypeError: get() missing 1 required positional argument: \’url\’
因此需要安装相应的浏览器驱动。
方法如下:
1.下载chrome浏览器驱动for mac
网上找到的下载口:chromedriver_mac64 (2.24版本)
谷歌官网:https://chromedriver.storage.googleapis.com/2.35/chromedriver_mac64.zip (2.35版本)–需要FQ
2.把上述驱动解压,拷贝到:usr/local/bin 。并不是usr/bin,因为没有系统管理员权限,拷贝到usr/bin下,很难成功,我尝试直接粘贴,用命令拷贝等,都不行。最后发现拷贝到:usr/local/bin,就可以用了。简单可行。
3.在pycharm中运行以下代码,检查是否可用。
- from selenium import webdriver
import time
wd = webdriver.Chrome()
wd.get("https://www.baidu.com") # 打开百度浏览器
wd.find_element_by_id("kw").send_keys("selenium") # 定位输入框并输入关键字
wd.find_element_by_id("su").click() #点击[百度一下]搜索
time.sleep(3) #等待3秒
wd.quit() #关闭浏览器
问题二:
一开始安装的是2.24版本的驱动(我的chrome是63的),运行百度没问题,但是运行公司需测试的网站时有以下报错:
- selenium.common.exceptions.WebDriverException: Message: unknown error: cannot determine loading status
- from unknown error: missing or invalid \'entry.level\'
- (Session info: chrome=64.0.3282.140)
- (Driver info: chromedriver=2.24.417412 (ac882d3ce7c0d99292439bf3405780058fcca0a6),platform=Mac OS X 10.12.0 x86_64)
原因:
是由于chromedriver与chrome版本不兼容。
解决方法:
1.终端中输入:chromedriver -v,查看chromedriver版本。
2.到chromedriver官网下载最新的chromedriver驱动:
https://sites.google.com/a/chromium.org/chromedriver/(需要FQ),下载到本地,解压,拷贝到:usr/local/bin。官网中会给大家说明每个版本的chromedriver对应的chrome版本。
3.重复第一步的操作,查看版本是否是最新下载的版本。