xpath的高级语法
链接:https://pan.baidu.com/s/1yGnJmA32jo2V4-L3mDDBvQ
提取码:qn0c
复制这段内容后打开百度网盘手机App,操作更方便哦
```python
#xpath的高级语法
driver = webdriver.Chrome("D:\\tool\selenium\chromedriver.exe")
driver.implicitly_wait(3)
# 访问网址
driver.get("file:///D:/Users/lenovo/PycharmProjects/script/study/seleniumStu/day2/xpath%E9%AB%98%E7%BA%A7%E8%AF%AD%E6%B3%95%E6%A1%88%E4%BE%8B%E6%BC%94%E7%A4%BA.html")
# xpath 的绝对路径,从HTML文档的最顶层一层层往下写的完整路径
driver.find_element_by_xpath("/html/body/div/ul/li/ul/li/ul/li")
# xpath 相对路径,以// 开头,可以匹配文档的任一层级
driver.find_element_by_xpath("//li")
# xpath 以 . 表示当前路径
driver.find_element_by_xpath("/html/body/div/ul/li[1]/ul/li[1]/ul/li[1]/.")
# xpath 以 .. 表示上层路径
driver.find_element_by_xpath("/html/body/div/ul/li[1]/ul/li[1]/ul/li[1]/..")
# 可以使用下标进行辅助定位,但要记住:下标是从 1 开始的
driver.find_element_by_xpath("/html/body/div/ul/li[1]/ul/li[1]/ul/li[2]")
# 表示倒数第一个
driver.find_element_by_xpath("/html/body/div/ul/li[1]/ul/li[1]/ul/li[last()]")
# 表示倒数第二个
driver.find_element_by_xpath("/html/body/div/ul/li[1]/ul/li[1]/ul/li[last()-1]")
# xpath 用 * 表示任意节点
driver.find_element_by_xpath("/html/body/div//*")
# 也可以根据属性进行定位, @
driver.find_element_by_xpath("//li[@id=\"abc\"]")
# 可以不为属性指定值, 以下表达式匹配所有具备id属性的li标签
driver.find_element_by_xpath("//li[@id]")
# 可以匹配固定值的任意属性, 匹配所有包含属性值等于abc的li元素,而不管属性是什么
driver.find_element_by_xpath("//li[@*=\"abc\"]")
嗨~今天你暴躁了吗?
~~~关注我,更多精彩内容带给你,关注私聊带走绝密知识~~~

浙公网安备 33010602011771号