Python + selenium —— xpath定位方法详解!
warning:
这篇文章距离上次修改已过193天,其中的内容可能已经有所变动。
在Python的Selenium库中,XPath是一种非常强大的元素定位方式。XPath是一种在XML(HTML可以被视为XML的一种特殊情况)文档中查找信息的语言,它可以用来在HTML中对元素进行定位。
以下是一些常用的XPath定位方法:
- 绝对路径定位:
绝对路径定位方法是最直接的一种方式,但是如果页面结构有变化,可能就需要重新定位。
element = driver.find_element_by_xpath('/html/body/div/form/input[1]')
- 相对路径定位:
相对路径定位方法是一种更为稳定的定位方式,它不需要完全指定元素的路径,只需要指定其相对于其他元素的位置关系即可。
element = driver.find_element_by_xpath('//form/input[1]')
- 属性定位:
如果页面中的元素有唯一的属性(如id、name、class等),可以直接通过这些属性进行定位。
element = driver.find_element_by_xpath("//input[@id='su']")
- 索引定位:
在XPath中,可以使用索引定位到元素,索引是以1开始的。
element = driver.find_element_by_xpath("//input[1]")
- 模糊匹配定位:
contains()函数可以用来进行模糊匹配,匹配包含指定内容的元素。
element = driver.find_element_by_xpath("//a[contains(text(),'新闻')]")
- 逻辑运算定位:
可以使用逻辑运算符and、or进行组合查询。
element = driver.find_element_by_xpath("//input[@class='su' and @id='su']")
- 轴定位:
轴定位可以定位到某个元素的父元素、子元素、兄弟元素等。
element = driver.find_element_by_xpath("//input/..") # 定位到input元素的父元素
- 文本定位:
text()可以用来匹配元素的文本内容。
element = driver.find_element_by_xpath("//a[text()='新闻']")
以上就是一些常用的XPath定位方法,在实际使用中可以根据页面的实际情况选择合适的定位方式。
评论已关闭