UI自动化学习:Selenium WebDriver 定位之Xpath定位
Selenium 定位之Xpath定位:
1、绝对路径定位:以/开头从根节点一直找到当前节点,不推荐使用决定路径定位方式
2、相对路径定位:使用“//”表示相对路径定位,格式://标签名[ @属性= "属性值"]
列如://area[@hidefocus="true"]
3、索引定位:即下标定位,格式:标签名[下标]
列如://div[2]
4、属性值定位:格式://标签名[ @属性= "属性值"]
列如://area[@id="account"]
除了上述的id还有name、classshape、title、href 等属性
5、使用模糊函数定位:contains(),第一个入参是属性,第二个是第一个参数中的属性值包含的内容;格式://标签名[contains( @属性, "属性值")]
列如://input[contains(@alog-action, 'earc')]
这里的alog-actio属性的值是search,使用contains方法时会自动匹配包含earc的alog-action的input标签
6、轴定位:用::表示,选择当前节点的父节点(parent)、子节点(child)、祖先节点(ancestor)、子孙节点(descendant)、后节点(following)前节点(preceding)、后兄弟节点(following-sibling)、前兄弟节点(preceding-sibling)
列如://input[@id='su']/parent::span
如图:先找到id为su的input标签;再查找父类class为bg s_btn_wr的span标签
另:如果::后面是*,则表示取所有符合条件的元素
如上图:使用and连接多个属性值 配合定位。
如上图:使用or连接多个属性值 配合定位了两个标签;当然也可以定位一个标签,如://input[@id='kw' or @name='wd' ],这样写的话;就会定位出id等于kw或者name=wd的标签(如果是id和name的值等于两个标签的属性就会定位出两个标签,当然我这里是定位了一个标签)。。。