问题标签 [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 投票
5 回答
5172 浏览

java - FluentWait 类型不是通用的;它不能用参数参数化通过 Selenium 和 Java 的 FluentWait 类错误

我正在与Selenium Standalone Server 3.0.1. 我正在尝试在Explicit Wait我的代码中添加一个以在元素变得可见时通过 xpath 检测元素。为了获得一些 Java 帮助,我查找了源代码, Selenium Standalone Server 3.0.1但找不到。selenium-java-2.53.1我在发布中找到了源代码。我下载了它并找到selenium-java-2.53.1-srcs并添加到我的Eclipse IDE. 在 的帮助下FluentWait,我只是复制粘贴了我的代码Eclipse IDE并更改了变量名。

文档中的示例代码如下:

但是当我实现这段代码时,只需复制粘贴它:

我在FluentWaitClass上遇到错误The type FluentWait is not generic; it cannot be parameterized with arguments <WebDriver>

这是我的进口清单:

谁能帮帮我?


更新

Selenium v ​​3.11.0 中添加了关于FluentWait的修改构造函数的答案

0 投票
4 回答
2709 浏览

java - 在 Fluent Wait 中处理 NoSuchElementException

我知道就等待DOM尚未出现的 web 元素而言,最有效的是流畅的等待。所以我的问题是:

有没有办法处理和捕获NoSuchElementException由于元素不存在而流利等待可能引发的异常或任何异常?

我需要一个布尔方法,无论是否找到元素,它都会给我结果。

这种方法在网络上很流行。

我需要的是,**.ignoring(NoSuchElementException.class);**不会被忽视。一旦异常被捕获,它将返回 FALSE。另一方面,当找到一个元素时,它将返回 TRUE。

0 投票
3 回答
2801 浏览

selenium - 隐式 vs 显式 vs Fluent 等待

隐式,显式,流利的等待有什么区别?

如果我们在隐式等待中设置 10 秒并且在 10 秒之前,则在 3 秒内只有元素被定位。

到时候会发生什么?它将等待 10 秒或继续进行。

0 投票
2 回答
1789 浏览

selenium - 如何在 FluentWait 中使用内置的 ExpectedConditions?

在 Selenium (Java) 中,我想将 ExpectedConditions 与 FluentWait 一起使用。我正在尝试以下不起作用的代码。它不等待元素出现在 DOM 中。

有人可以帮忙吗?

注意:我已经用 WebDriverWait 试过了,它是工作文件。我正在尝试使用 FluentWait,因为我想控制轮询超时。

0 投票
4 回答
14762 浏览

java - 如何在 Selenium Java Client v3.11.0 中删除关于超时和轮询的弃用警告

下面是我将 Selenium Webdriver 版本更新到 3.11.0 后显示为已弃用的代码。

withTimeout在代码中的和pollingEvery部分显示不推荐使用的警告。

如何重写此代码,以便删除已弃用的警告。

由于我是硒新手,我不确定这种变化。任何帮助将不胜感激。

0 投票
1 回答
564 浏览

selenium - 等待执行两个动作 - selenium/java

我正在尝试使用 Fluent wait 执行以下两个操作:

  1. 点击搜索按钮
  2. 检查元素的结果

现在我正在尝试使用下面的代码,但它似乎不起作用:

有人可以指导我如何解决这个问题吗?

***更新代码:等待单个元素也不起作用:

0 投票
3 回答
145 浏览

scala - 我正在尝试将 Java 代码转换为 scala

我想在 scala 中使用 fluent wait with selenium。但是我无法将以下代码转换为 Scala。请帮帮我。

当我在 Scala 中使用它时,我得到

@BrianMcCutchon - 嗨。当我在 Scala 中使用此代码时,它会转换为以下内容,

在此代码中,val wait 未解决。此外,没有什么似乎毫无意义

0 投票
2 回答
743 浏览

java - 在 FluentWait 使用中使用 lambda 函数和不使用它有什么区别?

元素的等待可以编码为

在 FluentWait 的文档中,下面给出了一个示例,其中不包括超时、轮询间隔、异常忽略的定义。

两者有什么区别?有什么额外的好处吗?

我搜索了 lambda 表达式,函数式接口。但我并没有完全明白这张照片。

0 投票
1 回答
1575 浏览

java - Selenium 中的 FluentWait 如何实现 until() 方法

selenium 文档中方法的语法until()如下:

相同的用法是这样的:

我无法理解该until()方法的语法和用法。我想知道语法是如何实现的。

是的,我知道泛型,我们用它来了解编译时的错误,以便我们可以在运行时避免 ClassCastException。另外,我知道我们用来实现行为参数化的功能接口。

我没有得到的是 和 之间的等价java.util.function.Function<? super T,V> isTrue)ExpectedConditions.elementToBeClickable(By.id("id))

表达java.util.function.Function<? super T,V> isTrue是什么意思?

0 投票
1 回答
181 浏览

java - Selenium WebDriver (JAVA) - 流畅的等待似乎不起作用

经过一段时间搜索我遇到的问题后,我找不到任何解决方案。所以我在这里。

一些背景,我正在尝试自动化注册、确认和加入某个平台的“直播课程”。

为此,您每 10 分钟有一个 5 分钟的窗口,您可以在其中注册,然后确认,然后等待 X 时间,然后加入直播课程。

但这只是第一部分,我想注册。这就是我使用流利等待所做的:

我的问题是,在页面加载后,当 fluentwait “工作”时,我希望每 5 秒有一个“按钮不显示”,直到它被点击。但是无论是否显示按钮,我都没有收到任何消息,“按钮未显示”和“按钮已显示”,所以我认为“wait.until”中的某些内容失败了

有些事情要提一下,我不是程序员,如果我做错了很抱歉,

同样在我的 IDE (intelliJ) 中,它标志着我是这部分代码的“驱动程序”

在“紫色”和这个“驱动程序”中:

灰色如果它有什么关系!感谢您的宝贵帮助