selenuim-webdriver注解之@FindBy、@FindBys、@FindAll的区别
selenium-webdriver中获取页面元素的方式有很多,使用注解获取页面元素是其中一种途径,
方式有3种:@FindBy、@FindBys、@FindAll。下文对3中类型的区别和使用场景进行介绍
1)@FindBy
@FindBy(id= "A")
private WebElement A;
2)@FindBys
@Findbys({
@FindBy(className = "A"),
@FindBy(className = "B")
})
public WebElement AB;
@FindBys 相当于是取交集,是先根据第一个注解获取到对应元素,然后根据第二个注解再帅选出对应的页面元素,。如先找到符合classname=A的元素,再在这些元素集中找到classname=B的所有元素
就像如下操作:
driver.findElement(<By_FindByA>).findElement(<By_FindByB>).
3)@FindAll
@FindAll({
@FindBy(id = "A"),
@FindBy(id = "B")
})
public List<WebElement> aAndB;
@FindAll相当于是取并集,如找到id=A和id=B的所有元素