Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我怎样才能让Selenium在我有;暂停“;是通过STDIN吗?_Php_Selenium_Timeout - Fatal编程技术网

Php 我怎样才能让Selenium在我有;暂停“;是通过STDIN吗?

Php 我怎样才能让Selenium在我有;暂停“;是通过STDIN吗?,php,selenium,timeout,Php,Selenium,Timeout,我用铬元素启动硒元素。使用->get()访问网站后,我执行了以下操作 $term = 'o'; while($term != 'x') { echo "\nCommand: "; $term = trim(fgets(STDIN)); echo "\nInputted Command = '".$term."'"; } 现在,如果我让它不放任何东西,会话将超时 从顶部可以看到,我使用了命令 "C:\Program Files (x86)\Java\jre1.8.

我用铬元素启动硒元素。使用
->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天。但即使我取消了30,也只有1天,如下图所示:

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

它仍然会在30分钟后超时。现在我想,如果我不能让
Dwebdriver.server.session.timeout
正常工作(如果它还没有工作),我需要在计时器上添加一些可以在后台运行的东西,以便在Selenium空闲10分钟时保持活动状态,我可以在到达
$term=trim(fgets(STDIN))之前触发它
但我不确定什么对Selenium起作用才能使其保持活动状态(因为我认为注入的javascript计时器不起作用)

我知道使用Selenium来编写代码以避免长时间的空闲有点违背了这一点,但它用于从网站上自动下载约6000张图片,或者根据
.txt
文件中的内容为wordpress创建草稿帖子


有没有办法让Selenium在通过STDIN“暂停”后不超时?

您使用的是哪个浏览器版本?不确定,但请尝试升级您的selenium webdriver jar。@prakashtank抱歉等待。我使用的是Chrome55.0.2883.87M(64位),我已经得到了最新版本的Selenium服务器,但它仍然做着完全相同的事情。在大约30分钟内完成
->get()
后,会话超时,我想这可能会有所帮助@JayminsFakeAccount没有,因为根据我对这个问题的理解,它询问的是脚本执行期间导致的超时。在
STDIN
之前等待对我来说毫无意义,因为无法预测我可能无法输入多长时间来继续脚本,并且Selenium不能在运行30分钟后破坏cookie或会话,因为我已经让脚本在没有超时的情况下运行了12小时下载图像。