多个进程并行运行时的Selenium WebDriver异常

时间:2016-05-03 21:41:51

标签: c# sockets selenium exception parallel-processing

我有一个使用Selenium Web驱动程序进行Firefox的过程,可以自动查找某个特定网站上的信息。由于要查找的数据量,我正在并行运行此过程的几个副本。有时候他们没问题,有时我得到一个例外,我不明白其原因。 Process是用C#编写的,在Windows上运行。每个进程都创建自己的Selenium实例,FF web驱动程序,我看到每个进程都有一个单独的FireFox进程。没有多行程(在一个过程中)。我不明白究竟是什么问题。找不到任何可以告诉我更多信息的文档。 如果有人有想法,我会感激任何信息/建议

例外是:

" OpenQA.Selenium.WebDriverException:意外错误。 System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:通常只允许使用每个套接字地址(协议/网络地址/端口)127.0.0.1:7056"

我看不出有什么可以尝试制作多个"用法"一个给定进程中的套接字地址。从日志中我看到不同的进程使用不同的端口(" 7056"上面是每个进程中的不同数字)。

谢谢你的推荐

1 个答案:

答案 0 :(得分:1)

我最近碰到了这篇文章,发现了一篇关于微调网络设置的非常有趣的文章。

https://blogs.msdn.microsoft.com/dgorti/2005/09/18/only-one-usage-of-each-socket-address-protocolnetwork-addressport-is-normally-permitted/

如果您在测试中运行高度并行性而没有足够的端口打开并且超时很长,那么您将无法使用套接字,这将会发生。要么增加端口,减少等待时间,要检查实例可能会挂起什么。