You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写XPath定位预订网站中固定的9:00 PM时段?

如何编写稳定定位9:00 PM时段的XPath?

你的问题出在依赖绝对路径+固定索引,这种写法极易因页面结构变化(比如每周时段数量调整)失效,而且原XPath试图直接匹配父div的文本,但实际目标文本在class为time的子div里,所以定位不到。

以下是几种稳定的写法:

直接定位目标子元素

如果需要操作的是显示“9:00 pm”的time类div,用这个XPath:

browser.find_element("xpath", "//div[@class='time' and text()='9:00 pm']")

如果文本前后可能有空格,用normalize-space处理:

browser.find_element("xpath", "//div[@class='time' and normalize-space(text())='9:00 pm']")

定位包含目标子元素的父div

如果需要点击的是父div(比如时段选择的容器),用这个写法:

browser.find_element("xpath", "//div[div[@class='time' and text()='9:00 pm']]")

同样处理空格:

browser.find_element("xpath", "//div[div[@class='time' and normalize-space(text())='9:00 pm']]")

结合表格上下文(可选)

如果需要限定在表格的特定列(比如原路径里的第6列td),可以保留上下文但不用绝对路径:

browser.find_element("xpath", "//table//td[6]//div[@class='time' and text()='9:00 pm']/..")

这些写法都不依赖固定的层级索引,而是通过元素的class属性和文本内容定位,能适配每周的结构变化。

内容的提问来源于stack exchange,提问作者Hassan Syed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:30:58