是否有办法防止selenium自动终止空闲会话?

edqdpe6u  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(211)

我正在使用Selenium来自动化一些与网站的交互。这个过程包括打开几个浏览器,让它们间歇性地执行操作。然而,偶尔会有长时间(〉1小时)的不活动,Selenium似乎会在~30分钟没有被调用后自动杀死浏览器会话。
我想将此超时设置为7小时左右,但我找不到任何方法。
这是selenium在关闭空闲浏览器时发送的消息。

13:06:35.277 INFO [ActiveSessions$1.onStop] - Removing session 70a1b8cbae6876cde7e66df13b3942d1 (org.openqa.selenium.chrome.ChromeDriverService)

如果任何人有任何线索,我会非常感激。目前,我只是自动刷新浏览器每15分钟,以防止超时,但感觉恶心。

v6ylcynt

v6ylcynt1#

此错误消息...

INFO [ActiveSessions$1.onStop] - Removing session 70a1b8cbae6876cde7e66df13b3942d1 (org.openqa.selenium.chrome.ChromeDriverService)

...表示已启动/生成的新Chrome浏览器会话已终止。
使用Selenium Grid集线器/节点配置和/或RemoteWebdriver实现时观察到此问题。
如果观察selenium-server-standalone-x.y.z.jar-help,则 * 默认值 * -timeout/-sessionTimeout设置为1800秒。

  • CLI命令:
$>java -jar selenium-server-standalone-3.14.0.jar -help
  • 输出:

-timeout-sessionTimeout<Integer>(以秒为单位):指定服务器自动终止在过去X秒内没有任何活动的会话之前的超时时间。然后将释放测试槽以供其他测试使用。这通常用于处理客户端崩溃。对于网格中心/节点角色,还必须设置cleanUpCycle。

  • 默认值:1800
  • 快照:

因此,您可以看到超时,它显示为 * selenium 自动终止浏览器会话后,约30分钟没有被调用 *。
溶液
可以按如下方式增加-timeout/-sessionTimeout

$>java -jar /path/to/selenium-server-standalone-3.14.0.jar -sessionTimeout 57868143

相关问题