为什么要学习Xpath定位?
1.在实际项目中标签没有id、name、class属性
2.id、name、class属性值为动态获取,随着刷新或加载而变化
什么是Xpath?
1.XPath即为XML Path 的简称,它是一种用来确定XML文档中某部分位置的语言。
2.HTML可以看做是XML的一种实现,所以Selenium用户可以使用这种强大的语言在Web应用中定位元素。
XML:一种标记语言,用于数据的存储和传递。 后缀.xml结尾
提示:Xpath为强大的语言,那是因为它有非常灵活定位策略
Xpath定位策略(方式)
1.路径-定位:绝对路径与相对路径
2.利用元素属性-定位
3.层级与属性结合-定位
4.属性与逻辑结合-定位
Xpath定位 方法:driver.find_element_by_xpath()
1.路径(绝对路径、相对路径)
绝对路径:从最外层元素到指定元素之间所有经过元素层级路径 ;例:/html/body/div[1]/div/div/ul/li[5]/a
提示:
• 绝对路径以 / 开始
• 使用Firebug可以快速生成,元素XPath绝对路径
相对路径:从第一个符合条件元素开始(一般配合属性来区分);
例://input[@id=“index_search_words”]
提示:
• 相对路径以//开始
• 使用Friebug扩展插件FirePaht可快速生成,元素相对路径
2.利用元素属性
说明:快速定位元素,利用元素唯一属性;
例://*[@id=‘userA’]
3.层级与属性结合
说明:要找的元素没有属性,但是它的父级有;
例://li[@id=“mianshi”]/a
4.属性与逻辑结合
说明:解决元素之间个相同属性重名问题
例://*[@id=“index_search_words” and @class=“layui-input”]