首页 > 解决方案 > 等待超时需要帮助

问题描述

我目前正在做一个关于网络自动化的小项目。它用于在现场轮盘赌休息室进行在线投注,

我的问题是这样的,因为这些是现场直播的事件,它们有适当的控件,可以在屏幕上向您显示内容,还可以控制何时以及何时不能对某个数字下注。

这些控件之一是出现和消失的 15 秒时钟,在可见和倒计时时您可以下注,当它用完时它会消失,您必须等待庄家旋转球并等待结果和时钟重新出现在您再次下注之前。

我希望自动化下注的整个过程以及在某些条件下发生的某些事情。

但是基于时钟何时可见,因为这是您唯一可以下注的时间,并且由于没有确定球会旋转和降落的时间,我唯一真正的选择是wait for the clock element可见(html它出现并重新- 出现在 chrome 上的检查器中(我认为这是ajax正在使用的))

所以我希望使用没有超时的流畅等待(它实际上只是等待元素出现,因为无论如何它都会出现)

有没有办法在 selenium 中进行“等待”(使用 java ),这样就没有超时,但你可以每秒轮询一次???例如,我知道有时 0 用于表示没有时间限制...有人可以帮忙吗?

我在这里有一个代码示例,这是我唯一需要帮助的部分,我知道它必须很简单,并且不需要冗长的代码。

欢呼伙计们

WebElement myDynamicElement = (new WebDriverWait(driver, 10))
.until(ExpectedConditions.presenceOfElementLocated(By.id("my_element")));

标签: javaseleniumwaitwebdriverwaitfluentwait

解决方案


是的,有一种投票方式。但是你必须设置timeOut。这将为您提供解决方案。在这个初始化中,第三个参数是轮询时间。每隔 1 秒,它将对该元素进行轮询。

WebElement myDynamicElement = (new WebDriverWait(driver, 60 , 1))
.until(ExpectedConditions.presenceOfElementLocated(By.id("my_element")));

推荐阅读