ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于Xpath定位方法

2022-06-04 19:33:33  阅读:182  来源: 互联网

标签:Xpath 定位 xpath text contains 关于 input div id


 

1、通过绝对路径方式定位
/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input

/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]

/html//input[@id='su']

/html//input[@id='kw']



2、通过相对路径方式定位
//input

//input[#'su']

//input[#'kw']

//*[@id="hotsearch-content-wrapper"]

3、通过元素索引定位

//*[@id="hotsearch-content-wrapper"]/li[2]

 

 

 

4、通过属性定位
使用xpath属性定位(结合第2、第3中方法可以使用)

//input[@id='kw']
//input[@type='name' and @name='kw']

//*[@class="bg s_ipt_wr new-pmd quickdelete-wrap"]

5、通过部分属性值匹配
//input[starts-with(@id,'k')]
//input[ends-with(@id,'w')]
//input[contains(@id,'w')]

 

//*[contains(text(),"神十四航天员名单合影公布")]

//*[contains(@class,"s-top-wrap")]

 

 

 

//*[contains(text(),"神十四航天员名单合影公布") and contains(@class,"title-content-title")]

 

 


6、通过文本定位
//a[text()='直播']

///span[@innertext='中国首位飞天女航天员再登太空']

///span[@innertext='D2809次列车司机曾5秒内紧急制动']

//div[#'s-top-left']/a[@innertext='新闻']


1.
三、关于xpath函数使用举例说明
1、contains():
//div[contains(@id,'in')] ,表示选择id中包含有’in’的div节点


2、text()
//a[text()='baidu'] ,用text()函数来匹配节点

//*[text()="神十四航天员名单合影公布"]

 

 


3、last()
book[last()] ,取xpath最后一个book元素
book[last()-1] ,取xpath最后第二个book元素

4、starts-with()
//div[starts-with(@id,'in')] ,表示选择以’in’开头的id属性的div节点

//*[starts-with(text(),"神十四航天员名单合影")]

 

 


5、not()
not()函数,表示否定

//input[@name=‘identity’ and not(contains(@class,‘a’))] ,表示匹配出name为identity并且class的值中不包含a的input节点。



特别注意

not()函数通常与返回值为true or false的函数组合起来用contains(),starts-with()等,但有一种特别情况请注意一下。

我们要匹配出input节点含有id属性的,写法如下://input[@id],如果我们要匹配出input节点不含用id属性的,则为://input[not(@id)]。

xpath中的ends-with无效,原因如下:

ends-with是xpath2.0的语法,可能你的浏览器还只支持1.0的语法。

标签:Xpath,定位,xpath,text,contains,关于,input,div,id
来源: https://www.cnblogs.com/alan5201314/p/16342527.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有