美文网首页selenium我爱编程
selenium 获取元素方法-注解

selenium 获取元素方法-注解

作者: 流浪骑士 | 来源:发表于2015-12-10 15:53 被阅读1063次

selenium 查找页面元素方法
1、 Selenium by查找元素
特别强调一下:By.xpath()
绝对路径以单/号表示,而下面要讲的相对路径则以//表示,这个区别非常重要。另外需要多说一句的是,当xpath的路径以/开头时,表示让Xpath解析引擎从文档的根节点开始解析。当xpath路径以//开头时,则表示让xpath引擎从文档的任意符合的元素节点开始进行解析。

查找页面上id为loginForm的form元素:

//form[@id='loginForm']

查找页面上具有name属性为username的input元素:

//input[@name='username']

2、 注解获取页面元素
方式有3种:@FindBy、@FindBys、@FindAll。
下文对3中类型的区别和使用场景进行介绍
1)@FindBy

@FindBy(id= "A")
private WebElement A;

2)@FindBys

@Findbys({
    @FindBy(className = "A"),
    @FindBy(id = "B")
})
public WebElement AB;

@FindBys 相当于是取交集,是先根据第一个注解获取到对应元素,然后根据第二个注解再帅选出对应的页面元素,。如先找到符合classname=A的元素,再在这些元素集中找到id=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的所有元素

相关文章

网友评论

    本文标题:selenium 获取元素方法-注解

    本文链接:https://www.haomeiwen.com/subject/ohlyhttx.html