据我所知,pagefactory中的FindBys Annotation返回满足里面提到的所有条件的元素。下面的代码总是返回0个元素。FindBys和列表<WebElement>总是返回空列表
同样,如果我使用具有相同ID和Xpath属性的FindAll注释,它将返回2个webelements。任何人都可以帮助我理解结果。
\t @FindBys
\t (\t \t \t
\t \t \t {
\t \t \t \t @FindBy(xpath="//*[@id='ctl00_ctl00_divWelcome']"),
\t \t \t \t @FindBy(id="ctl00_ctl00_divWelcome")
\t \t \t \t
\t \t \t }
\t \t \t)
\t public List<WebElement> allElementsInList;
我们不能确定它为什么返回0个元素而没有链接到页面。有可能ID不存在,不可见,或者页面加载延迟导致它返回0.至于为什么FindAll返回2,我不确定,但我猜测它正在执行两个搜索,每个返回一个元素。搜索不够聪明,认识到它们都是相同的元素。你为什么要做这两个搜索?他们将返回相同的东西。 – JeffC