当我通过STDIN“暂停”它时,如何才能让Selenium超时?

时间:2017-01-16 05:18:53

标签: php selenium timeout

我在Chrome中使用this webdriver启动了Selenium。使用->get()访问网站后,我执行了以下操作

$term = 'o';
while($term != 'x')
{   
    echo "\nCommand: ";
    $term = trim(fgets(STDIN));
    echo "\nInputted Command = '".$term."'";
}

现在如果我让它没有放任何东西,会话将会暂停

CMD 1

从顶部可以看出,我使用了命令

"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天,如下所示:

CMD 2

在这两种情况下,自会话超时以来,它会关闭为Selenium打开的Chrome窗口。如果我向Selenium发送任何命令,如->get()则抛出异常。

它在大约30分钟内仍然超时。现在我想如果我不能让Dwebdriver.server.session.timeout正常工作(如果它还没有工作)我需要放一些可以在后台运行的定时器来保持Selenium在它闲置时处于活动状态比如在我到达$term = trim(fgets(STDIN));之前我可以触发的10分钟,但是我不确定Selenium保持活动的重要性(因为我不认为注入的javascript计时器很重要)。

我知道有点反对使用Selenium来编写某些内容以避免长时间闲置,但所以它用于从网站上自动下载~6,000张图片或根据{{{{{{{ 1}}文件。

当我通过STDIN“暂停”时,有什么方法可以让Selenium不要超时?

0 个答案:

没有答案