Xpath元素定位多个属性定位:
//input[@id="kw" and @name='wd']
//*[@id="su" and @type='submit']
//input[@value='百度一下' and @type = 'submit']
模糊定位
//input[contains(@value,'一下')]
文本查找
//a[contains(text(),'o123')]
部分文字关键字+属性
//a[contains(text(),'o123') and @target='_blank']
包含
//a[not(@name) and text()='hao123']
不包含
//a[not(@name) and text()!='hao123']
亲属关系匹配:
parent::* 表示当前节点的父节点元素
ancestor::* 表示当前节点的祖先节点元素
child::* 表示当前节点的子元素 /A/descendant::* 表示A的所有后代元素
self::* 表示当前节点的自身元素
ancestor-or-self::* 表示当前节点的及它的祖先节点元素
descendant-or-self::* 表示当前节点的及它们的后代元素
following-sibling::* 表示当前节点的后序所有兄弟节点元素
preceding-sibling::* 表示当前节点的前面所有兄弟节点元素
following::* 表示当前节点的后序所有元素
preceding::* 表示当前节点的所有元素
百度定位练习:
//input[@id='kw']/ancestor::div[@id='wrapper']
//input[@id='kw']/parent::span
//input[@id='kw']/preceding-sibling::span[@class='ipt_rec']
//input[@id='kw']/following::input[@name='rsv_spt']
//input[@id="kw"]/following-sibling::a
//form[@id='form']/child::input[last()]
//form[@id='form']/child::input[last()-2]
//form[@id='form']/child::input[2]
//form[@id='form']/child::input[last()-2]/following-sibling::input[1]
网易126邮箱
切换到使用密码登录
//[@id="lbNormal"]
//[@id="switchAccountLogin"]
(1)找到用户名
//input[@name='email']
(2)找到密码框
//input[@name='password']
//[@type='text'and @class="u-pwdtext"]
(3)找到复选框
//input[@name='un-login']
(4)找到提交按钮
//[@id="dologin"]
//a[@tabindex=8]