问题:python / selenium中的套接字错误[地址已在使用中]

如何解决问题:python / selenium中的套接字错误[地址已在使用中]

|| 我有一个麻烦的问题socket.error错误:[Errno 10048]:地址已在使用中。在使用带有Python的Selenium进行自动测试期间,通常只允许每个套接字地址(协议/ IP地址/端口)使用一种。这个问题非常有趣,以至于它在一台机器(Linux)上运行正常,但是在另一台机器(WindowsXP)上却产生此错误。 我要补充一点,该问题是在重新安装系统并重新设置之后出现的-使用先前的配置,一切正常。 也许我忘记了什么?有人曾提出过这样的问题吗? 有谁知道如何处理这个问题? 当前配置/库: python 2.7,numpy,selenium.py     

解决方法

        如果您多次打开/关闭套接字,则它可能处于TIME_WAIT状态。这可以解释为什么它在单独的平台上有不同的行为(不同的TIME_WAIT设置和TCP堆栈)。如果要控制套接字对象,则可以在绑定之前设置SO_REUSEADDR以解决该问题。 例如:
sock = socket.socket()
sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,server.getsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR) | 1)
您可以在命令提示符下运行
netstat -b
,以提供带有状态和拥有过程的打开套接字列表。     ,        我在下面的帖子中找到了答案: Python urllib2。 URLError: 原来,此问题是Windows的限制     ,        有几种可能性。如果您的测试都不能在某个端口上侦听(您不说什么端口),则说明您的Windows计算机正在您先前打开的端口上运行某些内容;重新安装过程中可能会出现此新服务。另一方面,如果对于某些测试来说这只是一个问题,或者是零星的,那么这可能是编程问题(忘记在早期测试中关闭套接字会干扰以后的测试) )或计时问题(较早的测试的套接字在尝试打开新的套接字之前并没有完全关闭)。显然,解决每个问题都有不同的方法,但是我认为如果没有更多细节,我们可以提供更多帮助。     ,        Windows上可能已经有一个软件已经在使用端口4444,可以将Selenium设置为另一个端口并重试吗?     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?