现象:selenium使用chromedriver驱动chrome自动化报错unknown error: Runtime.executionContextCreated has invalid ‘context’: {“auxData”:{“frameId”:”11740.1”,”isDefault”:true},”id”:1,”name”:”“,”origin”:”://”}
(Session info: chrome=54.0.2840.71)
(Driver info: chromedriver=2.9.248307,platform=Linux
原因:chromedriver的版本与chrome版本不匹配
解决:
chromedriver下载地址 http://chromedriver.storage.googleapis.com/index.html
注意瞅清楚了版本号2.9并不是最新的,现在最新的是2.29,适配至chrome 58,chromedriver和chrome的配套关系在下载目录的ntoes.txt中查看。下载完成后,解压文件,然后把它放到/usr/bin/下就可以了
测试:
#!/usr/bin/python3
# -*- coding:utf-8 -*-
"""Here is docstring"""
# __author__ = c08762
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
driver.find_element_by_id('kw').send_keys('selenium2')
driver.find_element_by_id('su').click()
如何查看Chrome的版本?
在地址栏中输入chrome://version可以查看到更加详细的版本情况。
各浏览器下载地址:
Firefox浏览器驱动:geckodriver
Chrome浏览器驱动:chromedriver taobao备用地址
IE浏览器驱动:IEDriverServer
Edge浏览器驱动:MicrosoftWebDriver
Opera浏览器驱动:operadriver
PhantomJS浏览器驱动:phantomjs
设置浏览器驱动
设置浏览器的地址非常简单。 我们可以手动创建一个存放浏览器驱动的目录,如: C:\driver , 将下载的浏览器驱动文件(例如:chromedriver、geckodriver)丢到该目录下。
我的电脑–>属性–>系统设置–>高级–>环境变量–>系统变量–>Path,将“C:\driver”目录添加到Path的值中。
- Path
- ;C:\driver
设置浏览器驱动
验证不同的浏览器驱动是否正常使用。