方式有3種:@FindBy、@FindBys、@FindAll。下文對3中類型的區別和使用場景進行介紹
1)@FindBy
@FindBy(id= "A")
private WebElement A;
多個元素用FindBy也可以
@FindBy(id = "userName")
private List username;
2)@FindBys
@Findbys({
@FindBy(className = "A"),
@FindBy(className = "B")
})
public WebElement AB;
@FindBys 相當於是取交集,是先根據第一個注解獲取到對應元素,然后根據第二個注解再帥選出對應的頁面元素,。如先找到符合classname=A的元素,再在這些元素集中找到classname=B的所有元素
就像如下操作:
driver.findElement(FindByA>).findElement(FindByB>).
3)@FindAll
@FindAll({
@FindBy(id = "A"),
@FindBy(id = "B")
})
public List aAndB;
@FindAll相當於是取並集,如找到id=A和id=B的所有元素