【发布时间】:2017-09-19 12:51:31
【问题描述】:
据我了解,pagefactory 中的 FindBys Annotation 会返回满足里面提到的所有条件的元素。下面的代码总是返回 0 个元素。
同样,如果我使用具有相同 id 和 Xpath 属性的 FindAll 注释,它会返回 2 个 web 元素。任何人都可以帮助我理解结果。
@FindBys
(
{
@FindBy(xpath="//*[@id='ctl00_ctl00_divWelcome']"),
@FindBy(id="ctl00_ctl00_divWelcome")
}
)
public List<WebElement> allElementsInList;
【问题讨论】:
-
我们无法确定为什么它会返回 0 个没有页面链接的元素。 ID可能不存在,不可见,或者页面加载延迟导致它返回0。至于FindAll为什么返回2,我不确定,但我猜它正在执行两个搜索,每个返回一个元素。搜索不够聪明,无法意识到它们都是相同的元素。你为什么要做这两个搜索呢?他们将返回相同的东西。
标签: java selenium selenium-webdriver pageobjects page-factory