selenium中使用xpath定位

在 XML 文档中,XPath 是一种定位元素的语言。因为 HTML 可以看作 XML 的一种实 现,所以 WebDriver 提供了这种在 Web 应用中定位元素的方法

绝对路径选择

elements = driver.find_elements(By.XPATH, "/html/body/div")

相对路径选择

择 所有的 div 元素里面的 所有的 p 元素 ,不管div 在什么位置,也不管p元素在div下面的什么位置

elements = driver.find_elements(By.XPATH, "//div//p")

根据属性选择

根据属性来选择元素 是通过 这种格式来的 [@属性名='属性值']

 

 //*[@id='west']  # 根据id属性选择
//p[@class="capital huge-city"]  # 根据class属性选择
//*[@multiple]  # 选择具有multiple属性的所有页面元素
//*[contains(@style,'color')]  # 选择 style属性值 包含 color 字符串的页面元素
//*[starts-with(@style,'color')]  # 选择style属性值以 color 字符串 开头的页面元素
//*[@id='kw' and @class='s_ipt']  # and表示必须满足两个条件来定位元素

 

要在某个元素内部使用xpath选择元素需要在xpath表达式最前面加个点

复制代码
# 先寻找id是china的元素
china = wd.find_element(By.ID, 'china')

# 再选择该元素内部的p元素
elements = china.find_elements(By.XPATH, './/p')

# 打印结果
for element in elements:
    print('----------------')
    print(element.get_attribute('outerHTML'))
复制代码

 

posted @   天才九少  阅读(87)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示