【发布时间】:2018-01-24 08:40:05
【问题描述】:
操作系统:Windows 10
硒版本:3.4
@FINDALL 注释应该至少匹配给定条件之一。
这里是 OR: 网页网址:http://store.demoqa.com/
网页元素:-
@FINDALL ({
@findby(xpath = "//input[@name='s']"),
@findby(xpath = "//a[contains(.,'Magic Mouse')]")
})
public WebElement Header__txtSearch;
我正在尝试使用多个定位器验证页面上的元素。
当我给出 2 个正确的 XPath 值时,驱动程序在网页上快速识别并正常返回。但是,当我将第一个作为 Correct 并将第二个作为 Incorrect 时,它仍然返回 true 找到元素,但它等待初始化驱动程序时提供的对象超时(隐式等待)。
有没有一种方法,如果它找到第一个元素,那么它会立即将我们返回为 true,而不是匹配下一个定位器,这样就不会再花费时间进行测试执行了。
找到正确的定位信息后如何停止??
或者是否有一个解决方法,我可以为一个元素使用多个定位器,以便驱动程序在它与一个定位器正确匹配时立即返回 true?
【问题讨论】:
-
您需要将 WebElement 作为输出还是布尔值?
-
@Andersson 我需要 WebDriver 在匹配提供的任何一个定位器后立即将流返回到我的程序。