xpath定位详解

本文详细介绍了XPath的使用,包括如何通过绝对路径、相对路径和混合路径定位XML文档中的节点。示例涵盖了从基本的元素选择,如`//input`,到复杂的属性组合定位,如`//[@id='div1' and @name='wulaoshidiv']`,再到亲属关系匹配的各种表达式。此外,还提供了针对不同网站输入框和搜索按钮的定位示例,以及mail.126.com登录组件的选择方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XPath 使用路径表达式来选取 XML 文档
中的节点或者节点集。
xpath:
1 找到测试对象----操作之------》验证测试结果是否
符合预期(断言)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例:
找到第二个div :
绝对路径:/html/body/div[2]
在这里插入图片描述
相对路径:
//div[2]
在这里插入图片描述
绝对和相对混合用:
/html//div[2]
在这里插入图片描述
//表示找到所有的元素
在这里插入图片描述
找到input:
//input
在这里插入图片描述
找到有属性的所有元素:
//
[@]
在这里插入图片描述
找id的属性:
//
[@id]
在这里插入图片描述
定位到id=div1的元素:
//[@id=“div1”]
在这里插入图片描述
两个属性组合定位到唯一的:
//
[@id=“div2” and @name=“wulaoshidiv”]
在这里插入图片描述
//[@id=“div1” or @name=“wulaoshidiv”]
在这里插入图片描述
//
[@id!=“div1”]
在这里插入图片描述
//[contains(@name,“wulao”)]
在这里插入图片描述
//
[.=‘挺风和日丽的’]
在这里插入图片描述
//div[@id=‘div1’]/[.=‘挺风和日丽的’]
在这里插入图片描述
//div[@id=‘div1’]/
[contains(.,“风”)]
在这里插入图片描述
//div[@id=‘div1’]/p[3]
在这里插入图片描述
//div[@id=‘div1’]/p[last()]
在这里插入图片描述
//div[@id=‘div1’]/p[1]/…
在这里插入图片描述
//div[@id=‘div1’]/*
在这里插入图片描述
//p[.>20]
在这里插入图片描述
//p[text()>=20]等价于//p[.>=20]
在这里插入图片描述
//p[text()=20]
在这里插入图片描述
//p[text()!=20]
在这里插入图片描述
亲属关系匹配
• parent:😗 表示当前节点的父节点元素
• ancestor:😗 表示当前节点的祖先节点元素
• child:😗 表示当前节点的子元素 /A/descendant:😗 表示A的所有后代元素
• self:😗 表示当前节点的自身元素
• ancestor-or-self:😗 表示当前节点的及它的祖先节点元素
• descendant-or-self:😗 表示当前节点的及它们的后代元素
• following-sibling:😗 表示当前节点的后序所有兄弟节点元素
• preceding-sibling:😗 表示当前节点的前面所有兄弟节点元素
• following:😗 表示当前节点的后序所有元素
• preceding:😗 表示当前节点的所有元素
//p[.=‘50’]/preceding-sibling::p[1]
在这里插入图片描述
//p[.=‘40’]/following-sibling::p[1]
在这里插入图片描述
//p[.=‘40’]/parent::div
在这里插入图片描述
//p[.=‘40’]/ancestor::div
在这里插入图片描述
//p[.=‘40’]/ancestor::div/preceding-sibling::div
在这里插入图片描述
//*[@id=‘div1’]/child::p[1]
在这里插入图片描述
练习:3个网站的:www.baidu.com\www.sogou.com\www.bing.com
定位他们输入框和搜索按钮
//input[@id=‘query’]
在这里插入图片描述
//input[@id=‘stb’]
在这里插入图片描述
//input[@id=‘kw’]
在这里插入图片描述
//input[@id=‘su’]
在这里插入图片描述
//input[@id=‘sb_form_q’]

在这里插入图片描述
//input[@id=‘sb_form_go’]
在这里插入图片描述
定位mail.126.com的用户名、密码、登陆框。
//input[@placeholder=‘邮箱地址’]
在这里插入图片描述
//input[@placeholder=‘密码’]
在这里插入图片描述
//input[@name=“password”]
在这里插入图片描述
//a[@id=‘dologin’]
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值