描述 Xpath CSS Path
直接子元素 //div/a div > a
子元素或后代元素 //div//a div a
以id定位 //div[@id=’idValue’]//a div#idValue a
以class定位 //div[@class=’classValue’]//a div.classValue a
同级弟弟元素 //ul/li[@class=’first’]/following-sibling::li ul>li.first + li
属性 //form/input[@name=’username’] form input[name=’username’]
多个属性 //input[@name=’continue’ and @type=‘button’] input[name=’continue’][type=’button’]
第4个子元素 //ul[@id=’list’]/li[4] ul#list li:nth-child(4)
第1个子元素 //ul[@id=’list’]/li[1] ul#list li:first-child
最后1个子元素 //ul[@id=’list’]/li[last()] ul#list li:last-child
属性包含某字段 //div[contains(@title,’Title’)] div[title*=”Title”]
属性以某字段开头 //input[starts-with(@name,’user’)] input[name^=”user”]
属性以某字段结尾 //input[ends-with(@name,’name’)] input[name$=”name”]
text中包含某字段 //div[contains(text(), ‘text’)] 无法定位
元素有某属性 //div[@title] div[title]
父节点 //div/.. 无法定位
同级哥哥节点 //li/preceding-sibling::div[1] 无法定位

xpath

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 绝对定位 
/xxx/ddd/dddd
#相对定位
//android.widget.Button
# 查找所有元素:
//*
# 包含条件:
//*[contains(@resource-id, ‘login’)]
# 满⾜属性值
//*[@text=‘登录’]
# 多条件联合
//*[contains(@resource-id, ‘login’) and contains(@text, ‘登录’)]]
//*[contains(@text, ‘登录’) or contains(@label, ‘登录’)]]
# 当多控件同时出现
//*[contains(@text, '看点')]/ancestor::*//*[contains(name(), ‘EditText’)]
# 根据可点击属性和⽂本内容长度筛选
//*[@clickable="true"]//android.widget.TextView[stringlength(@
text)>0 and string-length(@text)<20]


//*[@id="select_baseUrl"]/option
$x('//*[@id="select_baseUrl"]//option[@value]')[0].value

//*[android.widget.EditText]
//*[@class='android.widget.EditText' and contains(@content-desc, '')]
# toast识别条件
# automationName:uiautomator2
getPageSource是⽆法找到的,必须使⽤xpath查找
//*[@class='android.widget.Toast']
//*[contains(@text, "xxxxx")]
$x('//*[contains(text(),"B10资源参数")]')
$x('//div[contains(text(),"B10资源参数")]')

CSS

1
2
$('span[class="e_ico-add"]')