xpath定位方法详解

更新时间:2023-07-09 23:49:16 阅读: 评论:0

xpath定位⽅法详解
1.xpath较复杂的定位⽅法:
hit是什么意思
现在要引⽤id为“J_password”的input元素,可以像下⾯这样写:
WebElement password = driver.findElement(By.xpath("//*[@id='J_login_form']/dl/dt/input[@id='J_password']"));
其中//*[@id=’ J_login_form’]这⼀段是指在根元素下查找任意id为J_login_form的元素,此时相当于引⽤到了form元素。后⾯的路径必须按照源码的层级依次往下写。按照图所⽰代码中,我们要找的input元素包含在⼀个dt标签内,⽽dt⼜包含在dl标签内,所以中间必须写上dl和dt两层,才到input这层。当然我们也可以⽤*号省略具体的标签名称,但元素的层级关系必须体现出来,⽐如我们不能写成//* [@id='J_login_form']/input[@id='J_password'],这样肯定会报错的。
虚拟语气高考题
另外⼀种写法:WebElement password = driver.findElement(By.xpath("//*[@id='J_login_form']/*/*/input[@id='J_password']"));
2.xpath的模糊定位⽅法:
这段代码中的“退出”这个超链接,没有标准id元素,只有⼀个rel和href,不是很好定位。⽤xpath的⼏种模糊匹配模式来定位它,主要有四种⽅式:
touch my heart什么意思
a. ⽤contains关键字,定位代码如下:
driver.findElement(By.xpath(“//a[contains(@href, ‘logout’)]”));
这句话的意思是寻找页⾯中href属性值包含有logout这个单词的所有a元素,由于这个退出按钮的href属性⾥肯定会包含logout,所以这种⽅式是可⾏的,也会经常⽤到。其中@后⾯可以跟该元素任意的属性名。
b. ⽤start-with,定位代码如下:
practi怎么读
2017高考语文答案driver.findElement(By.xpath(“//a[starts-with(@rel, ‘nofo’)]));
这种⽅式⼀般⽤于知道超链接上显⽰的部分或全部⽂本信息时,可以使⽤。
这句的意思是寻找rel属性以nofo开头的a元素。其中@后⾯的rel可以替换成元素的任意其他属性
c. ⽤Text关键字,定位代码如下:
会计学就业方向driver.findElement(By.xpath(“//a[contains(text(), ’退出’)]));
typeof
直接查找页⾯当中所有的退出⼆字,根本就不⽤知道它是个a元素了。这种⽅法也经常⽤于纯⽂字的查找
d.如果知道超链接元素的⽂本内容,也可以⽤
aotudriver.findElement(By.xpath(“//a[contains(text(), ’退出’)]));
3.XPath 关于⽹页中的动态属性的定位,例如,ASP 应⽤程序中动态⽣成 id 属性值,可以有以下四种⽅法:
a.starts-with      例⼦: input[starts-with(@id,'ctrl')]              解析:匹配以 ctrl开始的属性值
it什么意思
用醋洗脸可以美白吗

本文发布于:2023-07-09 23:49:16,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1088169.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:元素   属性   定位   层级
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图