java - sleep 中断异常 : java. lang.InterruptedException: sleep 中断 - 如何给浏览器超时 40 分钟

标签 java selenium selenium-webdriver sleep thread-sleep

我正在尝试从基于 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 浏览器中进行自动化。

由于 sleep 不适合我,有人可以帮我如何下载报告吗?是因为浏览器超时时间变短而被强制关闭吗?非常感谢任何帮助。

最佳答案

如果答案是"is",我认为您正在节点(网格/节点模型)上运行脚本。然后它解释了为什么您会收到此异常。

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

引用SeleniumHQ Grid documentation here了解更多信息。

关于java - sleep 中断异常 : java. lang.InterruptedException: sleep 中断 - 如何给浏览器超时 40 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59223497/

相关文章:

linux - 在 Linux 盒子上通过 jenkins 执行 Selenium 测试

java - 如何使用 xvfb 将 Chrome 驱动程序服务与所需的 headless 功能合并?

java - Selenium - 错误 : element not interactable

java - 为什么我的服务器停止响应并且有办法监控它吗?

java - Groovy 中的闭包 - 用等效的 Java 实现

用于算法的 Java swing 接口(interface)

python - 如何访问标签内的标签(获取标签文本等值)?如何获取(段落)p 标签内 h1 标签的值?

javascript - 通过 javascript 加密并通过 Java 解密

python - python selenium 获取表格行文本

java - Selenium webDriver 2.46 卡在使用 switchto.window 切换窗口上