大数跨境

干货 | Selenium自动化测试xpath定位详解

干货 | Selenium自动化测试xpath定位详解 慧测
2021-09-12
0
导读:“ 慧测8周年课程钜惠,经典课程体系,优惠幅度巨大。详细请访问:http://www.huicewang.c
 

慧测8周年课程钜惠,经典课程体系,优惠幅度巨大。

详细请访问:

http://www.huicewang.com



selenium是web端常用自动化测试框架,在编写脚本过程中定位也是其难点之一,有些元素的确是很难定位,今天我们来说说selenium 使用xpath常用定位方式。

xpath基本定位用法

1.id定位

driver.find_element_by_xpath(’//input[@id=“kw”]’)

2.class定位

driver.find_element_by_xpath(’//input[@class=“s_ipt”]’)

xpath相对/绝对路径定位

1.相对定位 – 以// 开头

//form//input[@name=“phone”]

注意:

  • 定位 找到元素 – 做到唯一识别
  • 优先使用id
  • 舍弃:有下标的出现、有绝对定位的出现、id动态变化时舍弃

2.绝对定位 – 以/ 开头 但是要从根目录开始,比较繁琐,一般不建议使用 如:

/html/body/div/a

xpath文本、模糊、逻辑定位

1.【文本定位】使用text()元素的text内容 如://button[text()=“登录”]

  1. 【模糊定位】使用contains() 包含函数 如://button[contains(text(),“登录”)]、//button[contains(@class,“btn”)] 除了contains不是=等于
  1. 【模糊定位】使用starts-with – 匹配以xx开头的属性值;ends-with – 匹配以xx结尾的属性值 如://button[starts-with(@class,“btn”)]、//input[ends-with(@class,"-special")]
  2. 使用逻辑运算符 – and、or;如://input[@name=“phone” and @datatype=“m”]

xpath轴定位

1 轴运算

  • ancestor:祖先节点 包括父

    parent:父节点

    prceding-sibling:当前元素节点标签之前的所有兄弟节点   

      prceding:当前元素节点标签之前的所有节点

  • following-sibling:当前元素节点标签之后的所有兄弟节点

  • following:当前元素节点标签之后的所有节点

使用语法:轴名称 :: 节点名称

使用较多场景:页面显示为一个表格样式的数据列

注意: #定位 找到元素 – 做到唯一识别 #优先使用id #舍弃:有下标的出现、有绝对定位的出现、id动态变化时舍弃


END


免费技术支持微信:15712862196

咨询QQ:2657535456

咨询微信号:huice666

慧测公众号


【声明】内容源于网络
0
0
慧测
专注人工智能前沿技术落地企业实战应用
内容 404
粉丝 0
慧测 专注人工智能前沿技术落地企业实战应用
总阅读104
粉丝0
内容404