目录
一、元素定位前提
元素或者属性必须唯一
二、八种元素定位[主要前六种]
1、id
2、name
3、link_text 链接文本
注意使用的是 link
4、partial_link_text 部分链接文本
注意使用的是 partial link
5、xpath
1、绝对路径
以/开头
从网页的第一个标签开始查询元素
# 百度首页查询框
/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
2、相对路径
以//开头
从网页的任意标签开始查询元素
一般相对路径会配合其他方式去组合定位
1)相对路径+索引定位
#百度首页文本搜索框
//form/span[1]/input
2)相对路径+属性定位
#百度首页文本搜索框
//input[@autocomplete="off"]
3)相对路径+部分属性值定位
a)属性值以什么开头(of)
#百度首页文本搜索框
//input[starts-with(@autocomplete,'of')]
b)属性值以什么结尾(ff)
#百度首页文本搜索框
//input[substring(@autocomplete,2)='ff']
c)属性值包含什么(ff)
#百度首页文本搜索框
//input[contains(@autocomplete,'of')]
4)相对路径+通配符定位【一般不建议大家复制使用,性能比较低】
#百度首页文本搜索框
//*[@id="kw"]
5)相对路径+文本定位
元素是下图
//span[text()="按图片搜索"]
6、css
1)通过id(#)和class(.)定位
#kw
# 输入css=#kw
# 输入css=.s_ipt
# 输入 css=input.s_ipt
2)绝对路径【完全不使用,忽略此方法】
3)相对路径
a)通过属性定位:input[autocomplete=“off”]
b)通过部分属性值:
以什么开头:input[autocomplete^='of']
以什么结尾:input[autocomplete$='ff']
包含什么:input[autocomplete*='ff']
c)通过子节点定位
form#form>span.bg.s_ipt_wr.new-pmd.quickdelete-wrap>input#kw
d)通过兄弟节点定位
div#s-top-left a +a