常见操作
find_element(By.ID,'kw').send_keys("我是小可爱")
find_element(By.ID,'su').click()
find_element(By.ID,'su').clear()
Xpath
表达式 ❤️ | 结果 ❤️ |
---|
/bookstore/book[1] | 选取属于bookstore子元素的第一个book元素 |
/bookstore/book[last()] | 选取属于bookstore子元素的最后一个book元素 |
/bookstore/book[last()-1] | 选取属于bookstore子元素的倒数第二个元素 |
/bookstore/book[position() < 3] | 选取最前面的两个属于bookstore元素的子元素的book元素 |
//title[@lang=‘eng’] | 选取所有title元素,且这些元素拥有值为eng的lang属性 |
/bookstore/book[price>35.00] | 选取bookstore元素的所有book元素,且其中的price元素的值必须大于35.0 |
/bookstore/book[price>35.00]/title | 选取bookstore元素中的book元素的所有title元素,且其中的price元素的值须大于35.00 |
nodename | 选取此节点的所有节点 |
/ | 从根节点选取 |
// | 从匹配选择的当前节点选择文档的节点,而不考虑他们的位置 |
/. | 选取当前节点 |
/. . | 选取当前节点的父节点 |
@ | 选取属性 |
[contains(text(), "待查找文本 ")] | //span[contains(text(), ‘20’)] |
举个栗子-Xpath
项目 ❤️ | Value ❤️ |
---|
‘//*[@id=“kw”]’ | ‘//*[@id=“kw”]’/a[last()-1]’ |
Css Selector
对于appnium不友好,对嵌套的网页友好,对样式遍历,速度较快
选择器 ❤️ | 栗子 ❤️ | 列子描述 ❤️ |
---|
.class | .intro | 选择class="intro"的所有元素 |
#id | #firstname | 选择id=“first"的所有元素 |
* | * | 选择所有元素 |
element | p | 选择所有< p >元素 |
element,element | div,p | 选择所有< div >元素和所有的< p >元素 |
element element | div p | 选择 < div >元素内部的所有< p >元素 |
element > element | div>p | 选择所有父元素为 < div >元素的所有< p >元素 |
element+element | div+p | 选择紧接在< div >元素之后的所有< p >元素 |
[attribute] | [target] | 选择所有target属性的所有元素 |
[attribute=value] | [target=_blank] | 选择target="_blank"的所有元素 |
:nth-child(n) | p:nth-child(2) | 选择属于其父元素的第二个子元素的每个< p >元素 |
element1~element2 | p~ul | 选择前面有< p >元素的每个< ul >元素 |
举个栗子-Css-selector
$(’#kw’) ❤️ | $(‘id=kw’) ❤️ |
---|
$(‘name=wd’) ❤️ | $(’#s_tab b’) ❤️ |
$(‘#s_tab a:nth-child(2)’) ❤️ ❤️ | $(‘#s_tab a:nth-last-child(1)’) |