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'))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」