使用selenium实现UI自动化(二)
作者:互联网
接上一篇,本章会讲元素定位已经selenium的actions
selenium的元素定位方式有8种,但是总结起来其实只有2种,xpath和css定位,所以掌握这2种就可以了。另外xpath支持在appuim上使用css在原生的appuim控件中不能使用。现在我们来看几个xpath的例子:
表达式 | 结果 |
/provice/city[1] | 选取属于provice元素的第一个city元素 |
/provice/city[last()] | 选取属于provice元素的最后一个city元素 |
/provice/city[last()-1] | 选取属于provice元素的倒数第二个city元素 |
/provice//city[position()<3] | 选取所有属于provice元素的最前面的二个city元素 |
//title[@lang='eng'] | 选取所有的city元素,且这些元素拥有lang属性值为eng |
上述例子中使用了绝对路径/和相对路径//,以及属性值,此外我们还可以在定位的时候时候and 或者 or来进行多重匹配我们可以在浏览器的控制台上通过$x('表达式')的方式来先进行模拟定位,确定无误后再放入我们的定位代码中。
css表达式 | 结果 |
.intro | 选择class="intro"的所有元素 |
#firstname | 选择id="firstname"的所有元素 |
* | 选择所有元素 |
p | 选择所有p元素,替换成其他的h1之类的,表示选择对应的所有元素 |
div,p | 取并集,选择所有的div和p元素 |
div p | 选择所有div内部的p元素 |
div>p | 选择所有父元素为div的p元素 |
div+p | 选择紧接在div元素后面的所有p元素 |
上述css的表达式在浏览器的console上可以通过$('表达式')的方式进行模拟定位,可以自行在浏览器的F12中找到console,然后进行摸索参试
actions
selenium提供了2种actions,ActionChains和TouchChains,分别用来模拟PC端鼠标的单击,双击,右键,拖拽等动作以及PC或者移动端的滑动,拖拽,多点触碰等手势操作。
ActionChains的使用步骤:
- action = ActionChains(driver)
- action.method1
- action.method2
- action.perform()
写法有2种,看个人喜好,一种是一行搞定 ActionChains(driver).move_to_element(element).click(element).perform(),另外一种就如上述分步骤一样,拆分成几行代码即可。
touchChains可以自行进selenium官网查看
标签:city,所有,元素,selenium,UI,自动化,provice,div 来源: https://www.cnblogs.com/doumayi/p/16253046.html