Selenium技术问询:如何通过XPath定位获取指定属性值并按索引排序
用XPath获取data-tooltip属性值的方案
完全可以通过XPath定位提取目标值,以下是具体实现方案:
1. 按索引定位并提取属性值
XPath支持通过索引定位元素,你只需要把索引编号替换到对应位置即可。针对这类带有genToolTip类的span元素,通用XPath模板为:
//span[contains(@class, 'genToolTip')][N]/@data-tooltip
- 把
N替换成你需要的索引(XPath索引从1开始计数),比如取第2个元素就写[2]。 - 该XPath会直接返回对应元素的
data-tooltip属性值。
2. 状态判断逻辑
提取到值后,直接匹配判断即可:
- 若返回
After market close→ 对应“盘后”状态 - 若返回
Before market open→ 对应“盘前”状态 - 若XQuery返回空(或元素不存在该属性) → 无值状态
示例验证
针对你给出的HTML代码:
<span class="marketClosed genToolTip oneliner reverseToolTip" data-tooltip="After market close"></span>
如果是第1个目标元素,使用XPath //span[contains(@class, 'genToolTip')][1]/@data-tooltip 会直接返回After market close。
内容的提问来源于stack exchange,提问作者Dan Press
相关产品推荐
相关产品推荐

