Python + selenium —— xpath定位方法详解!
warning:
这篇文章距离上次修改已过439天,其中的内容可能已经有所变动。
在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定位方法,在实际使用中可以根据页面的实际情况选择合适的定位方式。
评论已关闭