微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用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官网查看

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐