python3+selenium 3.13 + geckodriver 21.0,提示ConnectionResetError,切换会较低版本的driver即可

学习selenium时,如果sleep时间大于等于5秒,就会提示ConnectionResetError: [Errno 54] Connection reset by peer。
换成chrome浏览器,可以正常运行。

#demo.py
from selenium import webdriver
from time import sleep, ctime
#chrome
#driver = webdriver.Chrome(executable_path=‘//Users/csj/Desktop/seleniumdriver/chromedriver/chromedriver‘)
#Firefoxdriver 21.0
driver = webdriver.Firefox(executable_path=‘//Users/csj/Desktop/seleniumdriver/firefoxdriver/21.0/geckodriver‘)
#Firefoxdriver 20.1
#driver = webdriver.Firefox(executable_path=‘//Users/csj/Desktop/seleniumdriver/firefoxdriver/20.1/geckodriver‘)
#Firefoxdriver 20.0
#driver = webdriver.Firefox(executable_path=‘//Users/csj/Desktop/seleniumdriver/firefoxdriver/20.0/geckodriver‘)
#Firefox 19.1
#driver = webdriver.Firefox(executable_path=‘//Users/csj/Desktop/seleniumdriver/firefoxdriver/19.1/geckodriver‘)
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
print(ctime())
sleep(5)
print(ctime())
driver.find_element_by_id("kw").send_keys("selenium")
driver.close()```
使用Firefoxdriver 21.0,报如下错误:
Traceback (most recent call last):
  File "/Users/csj/PycharmProjects/untitled/demo.py", line 13, in <module>
    driver.find_element_by_id("kw").send_keys("selenium")
  File "/Users/csj/anaconda/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 353, in find_element_by_id
    return self.find_element(by=By.ID, value=id_)
  File "/Users/csj/anaconda/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 957, in find_element
    ‘value‘: value})[‘value‘]
  File "/Users/csj/anaconda/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
    response = self.command_executor.execute(driver_command, params)
  File "/Users/csj/anaconda/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py", line 472, in execute
    return self._request(command_info[0], url, body=data)
  File "/Users/csj/anaconda/lib/python3.6/site-packages/selenium/webdriver/remote/remote_connection.py", line 496, in _request
    resp = self._conn.getresponse()
  File "/Users/csj/anaconda/lib/python3.6/http/client.py", line 1331, in getresponse
    response.begin()
  File "/Users/csj/anaconda/lib/python3.6/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
  File "/Users/csj/anaconda/lib/python3.6/http/client.py", line 258, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/Users/csj/anaconda/lib/python3.6/socket.py", line 586, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

换成chrome,可以正常运行。老板提醒可能是版本的问题,分别用 Firefox 20.1, 20.0, 19.1,均能运行成功,没有再提示ConnectionResetError。
休眠时间设置为10秒,也没有再报错。

原文地址:https://www.cnblogs.com/csj2018/p/9257662.html

时间: 2024-11-09 00:37:55

python3+selenium 3.13 + geckodriver 21.0,提示ConnectionResetError,切换会较低版本的driver即可的相关文章

python3.6+selenium3.13 自动化测试项目实战一

一.项目介绍 目的: 测试某官方网站登录功能模块可以正常使用 用例: 1.输入格式正确的用户名和正确的密码,验证是否登录成功: 2.输入格式正确的用户名和不正确的密码,验证是否登录失败,并且提示信息正确: 3.输入格式正确的用户名和任意密码,验证是否登录失败,并且提示信息正确: 4.用户名和密码两者都为空,验证是否登录失败,并且提示信息正确: 5.用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确: 环境: Windows10 +Python3.6+selenium3.13+Pycha

Hadoop0.21.0部署安装以及mapreduce测试

鉴于hadoop的需要...但是并不限于此...有时候闲输入密码麻烦,也可以用这种办法从一个节点通过ssh进入另一个节点... 设要使master进入slave是免密码的,则可以在master(ip为192.168.169.9)中如下操作: 命令:ssh-keygen -t rsa  然后一路回车(该命令不需要进入特定目录) cd进入/root/.ssh/可以看见如下(橙色是新生成的) id_rsa  id_rsa.pub  known_hosts 然后用scp命令将id_rsa远程传输到sla

Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台

Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台 分类: Linux Ubuntu Oracle 2014-10-14 14:49 3613人阅读 评论(13) 收藏 举报 Ubuntu Python SIP PyQt5 Eric6 目录(?)[+] 引言 找 了很多Python GUI工具集,还是觉得PyQt比较理想,功能强大跨平台,还支持界面设计器.花一天时间折腾了Ubuntu14.04(32位)+ Python3.4 + Qt5.3.2

linux上安装ORACLE_10.2.0提示缺少系统安装包libXp.so.6,调用jdk报错

今天在VWMARE上做了下Linux, oracle 的安装实验, 我系统环境配置: OS:Linux test 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux Database: 10201_database_linux32.iso 在安装ORACLE软件的时候突然出现如下的错误: [[email protected] database3]$ ./runInstaller Starting Or

题目: 2/1, 3/2, 5/3, 8/5, 13/8, 21 13 ...

java源码: package studying; import java.util.Scanner; public class Sum_Of_FirstN { /* * Topic: There is a score sequence: 2/1, 3/2, 5/3, 8/5, 13/8, 21 13 ... * find the sum of the first 20 of this series. */ public static void main(String[] args) { Sca

使用AppCompat_v7 21.0.0d的几个兼容问题

1.实现新的ActionBarDrawerToggle动画 ActionBarDrawerToggle使用最新的AppCompat_v7 21会出现一个很帅的动画,使用方式在Androidstudio下面先添加compile dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.0' } 然后直接将ActionBarDrawer

android studio module添加最新的com.android.support:appcompat-v7:21.0.0依赖报错

我的开发平台是Mac,测试机是MX3(API 19 android 4.4.4),我不确定其他平台是否出现该问题,所以提前说明一下,免得误人子弟. 今天再使用自定义ActionBar的时候,出现了一个很奇葩的错误,就是我为自己的module添加了最新的com.android.support:appcompat-v7:21.0.0依赖后,在Activity中使用 final ActionBar actionBar = getActionBar(); actionBar.show(); 来获取Act

MySQL5.0+提示字段没有默认值(doesn’t have a default value)的解决方法

方法一: 打开my.ini,查找 sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 修改为 sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 然后重启MYSQL . 方法二: MySQL 5 uses a strict mode which needs to be disabled. In Windows, Goto Start–>Progr

Python3.4 解释一段程序时提示SyntaxError: invalid syntax错误

问题描述: 我用的Python版本是3.4. 这里是一段程序及解释结果: 提示错误: SyntaxError:invalid syntax . 其实这句话的意思就是"语法错误:不正确的语法". 所以就很明白了,这几句代码不符合语法规范. 但是有些人可能觉着奇怪,明明是教程上原封不动拷过来的代码,怎么会语法错误? 原因在于:这段代码符合的语法规范是Python2.7的,而我使用的版本是3.4的.Python3.4的语法规范和2.7是有区别的.就本段代码而言,区别在于:3.4中print后