自动化测试之CSS定位
之前做自动化测试一直用RF框架来操作,发现了明显与unittest的灵活性相差一点。
重新温习了unittest框架,其中这个框架,元素定位是难点,以前更多的使用JQUERY方式定位,
发现其实与CSS定位很相近,有很多共通之处。
今天顺便来复习一下。以前XPATH定位用的也比较多。但图方便之时,很少自己去定位,直接用工具了。
多话不说了,CSS定位总体上有几种,
一,通过元素属性来定们,
例子:driver.find_element_by_css_selector(".class")
drvier.find_element_by_css_selector("#id")
二,通过标签名来定位。
driver.find_element_by_css_selector("input")
这种方式找到元素的概率非常低。因为标签名重复的概率非常大。
1,通过父子关系定位。
driver.find_element_by_css_selector("span>input")
2,通过属性定位
driver.find_element_by_css_selector("[name=kw]")
driver.find_element_by_css_selector("[type=submit]")
3.组合定位
driver.find_element_by_css_selector("form.fm>span>input>input.s_ipt")
driver.find_element_by_css_selector("form#form>span>input#kw")
今天就暂时记录这么多。后续补充。
还有一种,通过兄弟元素来找,例子:div+input
后面补充的内容是从https://blog.csdn.net/ouyanggengcheng/article/details/77197294这里转载的。
这补充了CSS中的部分内容。
掌握了前面的几种方法,CSS定位基本没有困难了。
平时多练习,其实CSS与jquery定位方法真的很相近,除了定位第几个元素格式有大的区别,其他的几种格式基本都差不多。