在测试工作中通过定位查找元素是较为常用的,但有些时候无法查到测试对象较为完善的属性及属性值,Selenium提供了一个更为全面的方法,通过元素在被测页面中的位置属性进行查找。
Xpath是某个元素在XML文件中所处的位置,通过Xpath定位元素,精准度较高,但由于Xpath需遍历页面,因此查找性能较弱。
1、绝对路径
绝对路径是Xpath识别对象最为简单的一种方法,即设置测试对象在页面中的完整路径地址,然后通过该地址进行元素查找。如图1所示。
从上图可以看到,FireFox中通过FirePath查找到用户注册界面中【立即注册】按钮的绝对Xpath显示为:
html/body/div[6]/div/form/table/tbody/tr[7]/td[2]
利用Xpath绝对路径查找元素方法如下:
driver.find_element_by_xpath("html/body/div[6]/div/form/table/tbody/tr[7]/td[2] ").click()
绝对路径的好处是容易理解,根据测试对象在页面中的位置一层层解析下来,缺点是一旦页面发生变化