Python find_element_by_xpath 通过 文本内容 定位

查找具体的元素,必须在前面输入标准开头 “ // ”,表示从当前节点寻找所有的后代元素

1、通过文本内容定位

# HTML
11111 22222 33333
# 通过文本内容定位 22222 的 span 标签 find_element_by_xpath("//span[contains(text(),'22222')]")

2、选择第 几个 节点

# 先通过文本定位22222所在span标签
# 再通过 position 定位 33333的 span标签
find_element_by_xpath("//span[contains(text(),'22222')]/../span[position()=3]")
find_element_by_xpath("//span[contains(text(),'22222')]/../span[3]")

3、定位上一层节点或上二层节点

# 通过 /.. 定位到 上一点节
find_element_by_xpath('//div[contains(text(),"红宝石")]/..')

# 通过 /../.. 定位到 上上一点节
find_element_by_xpath('//div[contains(text(),"红宝石")]/../..')

3、根据 属性 定位

find_element_by_xpath("//div[@id='goods']")
find_element_by_xpath("//div[@class='goods']")

4、可以通过赋值变量多次定位,实现目标

#把节点保存到变量 content
content=driver.find_element_by_xpath('//div[contains(text(),"红宝石")]/../..')

#通过 content 变量继续定位,此处注意要在 "/" 前台加 "." 指明当前节点位子开始定位
text=content.find_element_by_xpath("./td[7]/div/button")

5、选择同级节点

...
...
...
...
# 选择 label 节点之后的同级 div 节点 find_element_by_xpath("//label[@for='transDate']/following-sibling::div") # 更多用法 preceding-sibling:: # 当前节点之前的同级节点 following-sibling:: # 当前节点之后的同级节点 following-sibling::div[2] #当前之点之后的同级 第2个节点

 

你可能感兴趣的:(Automated,Ops)