首页 > 其他 > 详细

selenium元素定位检查唯一性

时间:2019-12-25 14:22:26      阅读:163      评论:0      收藏:0      [点我收藏+]

自动化测试的重点就是定位元素,然而定位元素没办法一步一步运行调试检查,每次都需要从代码的开始运行,检查起来效率极低。

一直想找一个能检查唯一性工具或者方法。百度发现一篇文章 https://blog.csdn.net/ouyanggengcheng/article/details/77198186

于是按照文章检查了一遍,此方法还是可行的。我直接借鉴一下并且扩展一部分知识点。

一、xpath

在Console中输入$x(),括号里面填写xpath的locator即可。

例如:

(1)$x("//input[@id=‘kw‘]")

(2)$x("//form[@id=‘form‘]/span[1]/input")

技术分享图片

 

 

 当匹配多个时,集合会显示多个,这时候说明定位不是唯一,需要重新找到唯一定位才能在脚本中使用

技术分享图片

二、CSS

在Console中输入$$(),括号里面填写css的locator即可。

例如:

(1)$$("#kw")

(2)$$("form input:nth-child(2)")

技术分享图片

 

 

 当匹配多个时,集合会显示多个,这时候说明定位不是唯一,需要重新找到唯一定位才能在脚本中使用

技术分享图片

 

 

 三、CSS扩展

在Console中输入document.qurySelector(),括号里面填写css的定位即可

例如:

  1.document.querySelector()       #定位单个元素 

  2.document.querySelectorAll()    #定位多个元素数组并定位第几个

技术分享图片

还可以通过JS来控制元素,点击和输入

例如:

  1)document.querySelectorAll("input")[0].value=‘selenium‘     #输入

技术分享图片

 

   2)document.querySelectorAll("input")[0].click()       #点击

技术分享图片

 

 既然能够控制JS那也可以完全复制到代码里进行使用,只需要在代码前加入selenium操作JS的方法

例如:

  dr.execute_script("document.querySelectorAll("input")[0].value=‘selenium‘ ")        #dr代表定义的浏览器驱动

selenium元素定位检查唯一性

原文:https://www.cnblogs.com/hy546880109/p/12096075.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!