我在Chrome中使用this webdriver启动了Selenium。使用->get()
访问网站后,我执行了以下操作
$term = 'o';
while($term != 'x')
{
echo "\nCommand: ";
$term = trim(fgets(STDIN));
echo "\nInputted Command = '".$term."'";
}
现在如果我让它没有放任何东西,会话将会暂停
从顶部可以看出,我使用了命令
"C:\Program Files (x86)\Java\jre1.8.0_111\bin\java" -jar -Dwebdriver.server.session.timeout=86400 -Dwebdriver.chrome.driver=chromedriver.exe selenium-server-standalone-3.0.1.jar
由于Dwebdriver.server.session.timeout
以秒为单位,因此会话不应超时1000天。但即使我脱掉了3 0,所以它只有1天,如下所示:
在这两种情况下,自会话超时以来,它会关闭为Selenium打开的Chrome窗口。如果我向Selenium发送任何命令,如->get()
则抛出异常。
它在大约30分钟内仍然超时。现在我想如果我不能让Dwebdriver.server.session.timeout
正常工作(如果它还没有工作)我需要放一些可以在后台运行的定时器来保持Selenium在它闲置时处于活动状态比如在我到达$term = trim(fgets(STDIN));
之前我可以触发的10分钟,但是我不确定Selenium保持活动的重要性(因为我不认为注入的javascript计时器很重要)。
我知道有点反对使用Selenium来编写某些内容以避免长时间闲置,但所以它用于从网站上自动下载~6,000张图片或根据{{{{{{{ 1}}文件。
当我通过STDIN“暂停”时,有什么方法可以让Selenium不要超时?