通过selenium webdriver启动Chrome浏览器,脚本如下:
from seleniumimport webdriver
browser = webdriver.Chrome()
browser.get("http://www.baidu.com")
browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()
browser.quit()
浏览器启动成功,但是地址无法输入,报错:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
浏览器显示如下:
selenium版本:3.0.1
python版本3.5
Chrome版本:54.0.2840.99 m
修改以下部分脚本
option= webdriver.ChromeOptions()
option.add_argument('--user-data-dir=C:\\Users\FF\AppData\Local\Google\Chrome\\User Data')#设置成用户自己的数据目录
browser = webdriver.Chrome(chrome_options=option)
修改后重新运行,报错:selenium.common.exceptions.WebDriverException: Message: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"3624.1","isDefault":true},"id":1,"name":"","origin":"://"}
(Session info: chrome=54.0.2840.99)
(Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64)
表示chrome浏览器版本为54.0.2840.99,但是chromedriver版本为2.9.248315。版本不兼容
网上找了遇到相同问题的解决办法 http://blog.csdn.net/u012246342/article/details/52860949
下载v2.24版本的chromedriver.exe替换原有的chromedriver.exe(下载地址: http://chromedriver.storage.googleapis.com/index.html?path=2.24/ )
重新运行脚本,第一次运行较慢,最终超时失败,第二次运行成功!!
下面是关于加载Chrome配置的方法(网上copy的,保存留用):
一、加载所有Chrome配置
用Chrome地址栏输入chrome://version/,查看自己的“个人资料路径”,然后在浏览器启动时,调用这个配置文件,代码如下:
#coding=utf-8
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument('--user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome\User Data') #设置成用户自己的数据目录
driver = webdriver.Chrome(chrome_options=option)
二、修改浏览器的User-Agent来伪装你的浏览器访问手机m站
#coding=utf-8
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument('--user-agent=iphone')
driver = webdriver.Chrome(chrome_options=option)
driver.get('http://www.taobao.com/')
三、浏览器启动时安装crx扩展
#coding=utf-8
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_extension('d:\crx\AdBlock_v2.17.crx') #自己下载的crx路径
driver = webdriver.Chrome(chrome_options=option)
driver.get('http://www.taobao.com/')