在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中运行以下代码,检查是否可用。

  1. 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的),运行百度没问题,但是运行公司需测试的网站时有以下报错:

  1. selenium.common.exceptions.WebDriverException: Message: unknown error: cannot determine loading status
  2. from unknown error: missing or invalid \'entry.level\'
  3. (Session info: chrome=64.0.3282.140)
  4. (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.重复第一步的操作,查看版本是否是最新下载的版本。

版权声明:本文为zhangqian0830原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhangqian0830/p/8426999.html