问题标签 [fluentwait]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1789 浏览

java - 如何使用 java 在 selenium 中执行静态等待?

这很令人沮丧。在我看到的任何地方,人们一直告诉我使用显式、隐式和流畅的等待。这些等待使您可以根据元素暂停。但是,光顾我们并删除工具和选项并不是一个好主意。在我当前的特定泡菜中,我有一个按钮,如果有人点击它太快就会消失。但是,它也被设计为现在立即显示。所以你必须等到它出现,然后等待足够的时间过去,然后才点击按钮。有了这些建议,我认为这是不可能的。在这种情况下,必须使用静态暂停睡眠。出于某种原因,我什至不能使用线程睡眠,因为它似乎在 Java 8 本身或其他东西中已被弃用。

0 投票
3 回答
72 浏览

java - 等待超时需要帮助

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

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

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

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

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

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

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

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

欢呼伙计们

0 投票
1 回答
271 浏览

selenium-webdriver - selenium webdriver 在抛出 NoSuchElementException 之前的默认等待时间是多少

在 sellenium 中有 3 种等待类型,即隐式等待、显式等待和流畅等待。如果我不使用任何等待,selenium 在抛出之前默认等待多少时间NoSuchElementException

是硒内部使用的隐式等待吗?

0 投票
2 回答
181 浏览

selenium - 如何验证元素是否仅在 60 秒后启用

我的应用程序中有一个链接,该链接在 60 秒后启用。我必须验证,该链接仅在 60 秒后才启用,而不是在那之前。试过以下方法:

  1. 我已经尝试element to be clickable() 使用 fluent wait/webdriver wait/thread.sleep 并且所有都返回该元素已启用,因为它实际上已禁用到 60 秒。

  2. 我也试过getAttribute("disabled"),它也返回false。

我可以在 html 中看到的唯一区别是类属性。当它被禁用时,类属性值会添加额外的文本(禁用)。

0 投票
1 回答
291 浏览

java - Function 类型不是通用的;它不能用参数参数化

尝试使用 Selenium 3.141.59 处理 Fluent 等待实现,但出现指定的编译时错误。我主要关心“新函数方法”

FluentWait 类型不是通用的;它不能通过 Selenium 和 Java 使用 FluentWait 类的参数 <WebDriver> 错误进行参数化

我不相信这是重复的。问题听起来可能相同,但没有一个解决方案对我有用。

错误显示:

0 投票
1 回答
45 浏览

selenium - 与 Implicitwait 相比,我们是否需要为 ExplicitWait 声明更少的时间

在某处我读到混合隐式和显式会产生不可预测的结果。这是真的吗?

资料来源:https ://www.seleniumhq.org/docs/04_webdriver_advanced.jsp#advanceduserinteractions

警告:不要混合隐式和显式等待!这样做会导致不可预测的等待时间。例如,设置 10 秒的隐式等待和 15 秒的显式等待可能会导致 20 秒后发生超时。

在那种情况下,我们是否需要给更少的时间/等于隐式等待???

0 投票
1 回答
99 浏览

selenium - org.openqa.selenium.NoSuchElementException:没有这样的元素:无法使用 FluentWait 定位元素

我从 WebDriverWait 更改为 FluentWait 因为它已被弃用,现在出现错误

收到此错误:

0 投票
1 回答
55 浏览

selenium - pollingEvery() 方法的第一次调用是什么时候?

我现在正在研究 Selenium,我必须使用 FluentWait。我的代码中有一行直接把我带到了这里。

第一次打电话是什么时候?是在我运行代码的那一刻还是在 250 毫秒之后?

我一直在寻找答案,但我得到的只是 Selenium 每 250 毫秒检查一次 WebElement 是否可见(在这种情况下)。

0 投票
2 回答
494 浏览

selenium - 在自定义条件下在硒中流利等待 - 铬

我遇到了一个问题,我想创建一个函数,等待列表中存在文本“其他”。我希望它等待 30 秒,并且每 5 秒它会再次调用并验证新列表。(最多 5 - 6 次验证文本是否存在于新列表中)。我已经通过将列表转换为地图并检查任何匹配来完成验证(地图转换和检查正在工作)。

问题在于等待机制,我尝试创建复杂的流畅等待,如果找到预期的文本,它也会接收布尔值,然后等待应该停止。但是,如果在第一次或第二次尝试中找不到文本,我不知道要返回什么,我希望它仍然等待并再次拨打电话并再次验证。

  • 我希望仅在两种情况下停止等待:

    • “其他”一词存在 - 在这种情况下 isExists 为真。
    • 时间超过30秒。拉动间隔5秒,不显示“其他”字样

有没有办法在等待条件中设置等待 Boolean == true ?我不确定条件 Boolean>() 是否正确,可以在 wait.until 中完成,如果它可以工作

0 投票
2 回答
1978 浏览

java - fluentwait 类型中的方法 withtimeout(duration)不适用于参数 (int, timeunit)

使用此代码时出现错误,错误是

“FluentWait 类型的 withTimeout(Duration) 方法不适用于参数 (int, TimeUnit)”