Selenium脚本中的套接字错误
我最近写了一个selenium脚本,用来自动化在Firefox浏览器中生成测试数据的过程。这个脚本是通过命令行运行的,你可以指定想要生成哪种类型的测试数据,这通常会导致脚本运行大约15分钟。
在这段时间里,我经常会遇到一个错误,这个错误会导致脚本无法继续运行:
OSError: [WinError 10055] An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.
当我使用netstat -b命令时,我发现Firefox正在使用大量的连接(有几百个甚至几千个),而这些连接都处于TIME_WAIT状态。因此,我猜测我的脚本可能耗尽了系统上所有可用的端口,但我不太确定原因是什么。
每个selenium操作是否都使用自己的连接?这些连接在脚本运行结束之前不会关闭吗?
1 个回答
0
从火狐浏览器切换到谷歌浏览器似乎能稍微缓解这个问题。你还是会看到很多连接处于TIME_WAIT状态,但用谷歌浏览器的时候,这种状态的连接似乎少了很多。