我正在使用Selenium来自动化一些与网站的交互。这个过程包括打开几个浏览器,让它们间歇性地执行操作。然而,偶尔会有长时间(〉1小时)的不活动,Selenium似乎会在~30分钟没有被调用后自动杀死浏览器会话。
我想将此超时设置为7小时左右,但我找不到任何方法。
这是selenium在关闭空闲浏览器时发送的消息。
13:06:35.277 INFO [ActiveSessions$1.onStop] - Removing session 70a1b8cbae6876cde7e66df13b3942d1 (org.openqa.selenium.chrome.ChromeDriverService)
如果任何人有任何线索,我会非常感激。目前,我只是自动刷新浏览器每15分钟,以防止超时,但感觉恶心。
1条答案
按热度按时间v6ylcynt1#
此错误消息...
...表示已启动/生成的新Chrome浏览器会话已终止。
使用Selenium Grid集线器/节点配置和/或RemoteWebdriver实现时观察到此问题。
如果观察
selenium-server-standalone-x.y.z.jar
的-help
,则 * 默认值 *-timeout
/-sessionTimeout
设置为1800秒。-timeout
、-sessionTimeout
:<Integer>
(以秒为单位):指定服务器自动终止在过去X秒内没有任何活动的会话之前的超时时间。然后将释放测试槽以供其他测试使用。这通常用于处理客户端崩溃。对于网格中心/节点角色,还必须设置cleanUpCycle。因此,您可以看到超时,它显示为 * selenium 自动终止浏览器会话后,约30分钟没有被调用 *。
溶液
可以按如下方式增加
-timeout
/-sessionTimeout
: