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( @属性, “属性值”)]

在这里插入图片描述
如图:先找到id为su的input标签;再查找父类class为bg s_btn_wr的span标签

另:如果::后面是*,则表示取所有符合条件的元素

7、文本text定位:通过html标签的文本定位的方法,格式://标签名[text( )= “text值”]

text 百度热榜

列如://div[text()=“百度热榜”]
  备注:部分标签没有text值;故不能使用此方法

END:
  xpath定位支持结合运算符定位:常用的有and和or,这里主要分享and和or的用法,其他请自行了解,我们还是以百度搜索输入框为列:
运算符
  如上图:使用and连接多个属性值 配合定位。

or的用法

如上图:使用or连接多个属性值 配合定位了两个标签;当然也可以定位一个标签,如://input[@id=‘kw’ or @name=‘wd’ ],这样写的话;就会定位出id等于kw或者name=wd的标签(如果是id和name的值等于两个标签的属性就会定位出两个标签,当然我这里是定位了一个标签)。。。

个人分享:
  1、xpath定位建议优先使用id、name,
  2、其次使用变动较小的属性值来作为定位方式,
  3、text值可以一眼看出来定位的标签是哪一个,
  4、模糊定位很可能定位多个或者随着前段改动受到匹配精度的影响,
  5、下标定位适合该标签没有可定位属性或者非常不好定位再使用,
  6、轴定位适合该标签其他方式都不容易定位的情况再使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值