-
CSS:查找子节点
li>#js-signin-btn 通过id查找子节点
div>.search_input 通过class查找子节点
div>h1
div>label
ul>li>a.shop-cart-icon
查看全部 -
CSS:通配符查找元素
^:代表以什么文本开始
$:代表以什么文本结尾
*:代表包含什么文本
语法:tag[attribute通配符 = 'value']
查看全部 -
CSS:类选择器查找元素
语法:tag[attribute = 'value']
缩写 . 代表class
示例:
.icon-shopping-cart
span.icon-shopping-cart
span[class = 'icon-shopping-cart']
追加类:.class1.class2.class3......直到找到唯一的元素
查看全部 -
如果元素的ID不唯一,或者是动态ID,或者name以及linktext属性值也不唯一,我们就需要考虑使用xpath来查找元素,再对元素执行操作
不管用什么方式查找元素,id,Name,Xpath,CSS等,都需要在页面上能查找到唯一的元素,都应该只能找到一个匹配的node。
除非想要查找一批元素放集合里,然后来操作集合
CSS :ID选择器查找元素
语法:
tag[attribute = 'value']
tag:标签名
attribute:属性
value:值
缩写#代表Id
缩写 . 代表Class
百度登陆按钮定位
input[id = 'su']
(input)#su:如果页面多个标签有共同的id,可以在#加上标签名
查看全部 -
1.通过一个xpath路径寻找父节点的语法:
已定位的xpath元素//parent::tag
2.通过一个xpath路径寻找前面平级节点的语法:
已定位的xpath元素//preceding-sibling::tag
3.通过一个xpath路径寻找后面平级节点的语法:
已定位的xpath元素//following-sibling::tag
eg:
//a[text()='免费课程']
//parent::li
//preceding-sibling::li
//following-sibling::li[2]
/a[1]指的是查找“免费课程”
的父节点li标签
的前面平级节点li标签
的后面第二个平级节点li标签
下的第一个a标签
查看全部 -
//tag[starts-with(attribute,'value')]
查看全部 -
使用contains关键字匹配xpath
语法://tag[contains(attribute,'value')]
使用属性时需要加上@
使用and来限制多个包含条件
eg://button[contains(text(),'登录') and contains(@class,'logon_btn pointer')]
查看全部 -
用元素的text文本属性来写xpath
//a[text()='忘记密码']
查看全部 -
xpath定位元素
语法://tag[@attibute='value']
绝对路径使用/,不能跳级
相对路径使用//,可以跳级,//下的元素是任意一级下的元素,只要id或者class匹配
查看全部 -
查找子节点符号:>
子节点符号后方可跟标签名,也可直接跟子节点下的id或class等
例如查找一个子节点下的id:
div>ul>li>div[class='app-load-box clearfix js-load-box']
div>ul>li>.app-load-box.clearfix.js-load-box
查看全部 -
1.CSS选择器中使用通配符:
"^"代表value的值以什么文本开始
"$"代表value的值以什么文本结尾
"*"代表value的值包含什么文本
2.语法:tag[attribute通配符='value']
查看全部 -
当元素的class多个时,定位class必须完整、完全一致。比如:
<
ul
class
=
"header-unlogin clearfix"
>
就需要写成ul[class='header-unlogin clearfix']2.当元素的class多个时,可追加定位,比如:
<
ul
class
=
"header-unlogin clearfix"
>
.clearfix.header-unlogin会定位到准确位置
查看全部 -
CSS选择器定位元素的语法:tag[attribute='value']
. 代表的class
# 代表的id
eg: a[class='signin']可以写成 .signin 或 a.signin
查看全部 -
//a[text()='免费课程']//parent::li//preceding-subling::li//following-subling::li[数组]
父节点 该节点上一个节点 同上下一个节点
查看全部 -
contains如果添加的是class属性需要加@
如contains(@class,'ipt')
可以添加多个contains用来精确定位属性
如 //input[contains(@class,'ipt')] and contains(@placeholder,'手机号')
查看全部
举报