selenium webdriver启动Chrome浏览器后无法输入网址的解决办法

转自:https://www.cnblogs.com/fangfangs/p/6265570.html

下载chromedriver时,chromedriver官网打不开的话,可以去淘宝镜像,地址:http://npm.taobao.org/mirrors,使用最新的chromedriver可以避免一些未知错误(我用旧版的就报错了:WebDriverException: unknown error: call function result missing 'value') 

通过selenium webdriver启动Chrome浏览器,脚本如下:

from selenium import 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/')

猜你喜欢

转载自blog.csdn.net/xiaoxianerqq/article/details/82840951