xpath是XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。在selenium做UI自动化也应用很广,虽然selenium有很多定位方式,但是优先推荐的是xpath,不然你在实际应用会遇到各种问题,比如前端界面是ext js完全由后台生成,其每个标签都是有id,但都是动态生成,每次刷新都不同的情况。
xpath语法
表达式
描述
nodename
选取此节点的所有子节点。
/
从根节点选取。
//
从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
.
选取当前节点。
..
选取当前节点的父节点。
@
选取属性。
selenium常用xpath定位方式
#按标签属性,查找属性name值为xxx的元素
find_element_by_xpath('//*[@name="xxx"]')#按标签文本,查找标签文本为xxx的元素
find_element_by_xpath('//*[text()="xxx"]')#按父元素属性,查找属性name值为xxx的下级第一个div元素
find_element_by_xpath('//*[@name="xxx"]/div[1]')#按子元素属性,查找属性name值为xxx的父元素
find_element_by_xpath('//*[@name="xxx"]/..')
find_element_by_xp