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

如何在XPath属性中使用or条件匹配data-titlex或data-titley属性

XPath匹配自定义data属性的实现方法

XPath对自定义属性的匹配规则和class、href这类内置属性完全一致,直接在判断条件里用or拼接属性判断即可,不需要额外特殊语法。

  • 最简匹配写法(直接匹配所有带data-titlex或data-titley属性的a标签,覆盖你提到的两类元素):
//a[@data-titlex or @data-titley]
  • 严谨匹配写法(同时绑定class校验,避免误匹配其他位置带这俩自定义属性的无关元素):
//a[(@class='class_name' and @data-titlex) or (@class='different_class_name' and @data-titley)]

匹配到元素后,因为两类标签的标题存在不同的自定义属性上,遍历元素时按需取值即可,Python+Selenium的参考实现如下:

# 定位所有目标a标签
target_links = driver.find_elements("xpath", "//a[@data-titlex or @data-titley]")

all_titles = []
for link in target_links:
    # 优先读data-titlex属性,不存在则读取data-titley属性
    title_val = link.get_attribute("data-titlex") or link.get_attribute("data-titley")
    if title_val:
        all_titles.append(title_val)

注意:属性名不要写拼写错误,你提到的两个自定义属性名末尾分别是x和y,书写时注意区分,否则会出现匹配不到元素、取值为空的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 00:12:29