我们有一个由“// input [contains(@ name,'smcNetwork')]”指定的元素列表。 我习惯于找到像
这样的元素 @FindBy(xpath = "//*[id='myId']") private WebElement myelement;
但是,根据主题我提到的xpath返回一个数组(或我猜的列表)我会做什么
List<WebElement> networks = driver.findElementsBy( xpath = "//input[contains(@name,'smcNetwork')]")
我想在FindBy中执行此操作,但它似乎不起作用:
@FindBy( xpath = "//input[contains(@name,'smcNetwork')]") private List<WebElement> networks;
但是返回null。你能以某种方式这样做吗?
答案 0 :(得分:1)
你可以这样做。
@FindAll({@FindBy(xpath = "yourpath")})
public List<WebElement> networks;
答案 1 :(得分:0)
要使用@FindBy
查找网络元素,可以使用以下代码段
@FindBy(xpath = "xpathValue")
private static WebElement xpathName;
在这里,您可以通过将访问级别设置为公共或私有/受保护来更改访问级别。
如果将其设为私有,则在该类中使用此定位器,并将通用方法定义为public。