Sleep Interupt Exception:java.lang.InterruptedException:睡眠中断-如何给浏览器超时40分钟

问题描述 投票:1回答:1

我正在尝试从基于Web的应用程序中下载一个excel报表,点击“下载”按钮后需要30分钟才能开始下载(生成并开始下载需要30分钟)。文件大小约为54 MB。下面是我的代码:

driver().findElement(By.xpath(locator_for_download)).click(); //to click on download button
TimeUnit.SECONDS.sleep(2400); //making it to sleep for 40 mins so that my report gets downloaded.

但是,一旦单击“下载”按钮,5分钟后,我得到以下错误,浏览器关闭:

Exception: java.lang.InterruptedException: sleep interrupted

我已尝试让隐式等待2400秒:

driver.manage().timeouts().implicitlyWait(TimeOut, TimeUnit.SECONDS); 

而且页面加载超时也没有用。

P.S-对于我们执行的任何操作,URL均未更改。 Web应用程序具有iframe,我正在Google chrome浏览器中进行自动化。

有人可以帮助我,因为睡眠对我不利,我如何下载我的报告?是否因为浏览器超时时间短而被强制关闭?任何帮助都非常感谢。

java selenium selenium-webdriver sleep thread-sleep
1个回答
0
投票
我认为您正在节点(网格/节点模型)上运行脚本,如果答案为是。然后,它解释了为什么您遇到此异常。

在您的情况下,睡眠时间>节点超时,这导致了异常。节点的默认超时为300秒(5分钟),这意味着如果节点在5分钟内未收到命令,则集线器将自动释放该节点。如果要等待5分钟以上,则必须更改set -timeout = 0(以完全删除超时)或根据您的情况增加它。

有关更多信息,请参考SeleniumHQ Grid documentation here。>>

© www.soinside.com 2019 - 2024. All rights reserved.