我正在使用 Thucydides 0.9.229 及其附带的 Selenium。为了获取一些网络元素,我尝试通过列表获取它们
@FindAll({@FindBy(xpath = "//div[text()='Расположение']/../../td[2]//input[@type='text']")})
private List<WebElement> placement;
没有结果,展示位置返回null,而这里
@FindBy(xpath = "//div[text()='Расположение']/../../td[2]//input[@type='text']")})
private WebElement placement;
那里的位置不为空,但正确的 web 元素处理得很好。据我了解,第一个示例无论如何都应该返回 1 值列表,但如果有一些符合条件的附加元素,则返回更多值。那么,出了什么问题,为什么我无法获取那里的网络元素列表?
最佳答案
我对 @FindAll 也有同样的问题,它也返回 null。
但是,您也可以将 @FindBy 用于元素列表。它可用于标记页面对象上的字段以指示元素或元素列表。
@FindBy(xpath = "//div[text()='Расположение']/../../td[2]//input[@type='text']")})
private List<WebElement> placement;
关于java - 为什么 WebElement 和 List<WebElement> 通过 xpath 的处理方式不同,并且 List 始终为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24420064/