selenium元素定位检查
自动化测试的重点就是定位元素,然而定位元素没办法一步一步运行调试检查,每次都需要从代码的开始运行,检查起来效率极低。
一直想找一个能检查唯一性工具或者方法。百度发现一篇文章 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代表定义的浏览器驱动
本文来自博客园,作者:Harry_666,转载请注明原文链接:https://www.cnblogs.com/harry66/p/12096075.html