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

能否通过XPath匹配部分class值来定位元素?

如何用XPath通过部分class名称定位元素

当然可以用XPath通过部分class名称定位元素,但你写的p[@class[text(),[contains(,"fBmSdW")]]]语法是错误的,这里给你几种可行的正确写法:

  • 直接用contains匹配class属性
    这种写法最简单,适合快速定位包含指定class值的元素,但要注意如果目标class是其他class的子字符串,可能会出现误匹配(比如要找fBmSdW,但存在fBmSdW-extra的元素也会被选中):

    p[contains(@class, 'fBmSdW')]
    
  • 结合空格实现精准匹配
    给class属性值前后拼接空格,再匹配包含目标class的内容,能确保匹配的是独立的class项,避免误匹配:

    p[contains(concat(' ', @class, ' '), ' fBmSdW ')]
    
  • 用XPath 2.0的tokenize函数(环境支持时可用)
    如果你的XPath解析器支持2.0版本,可以把class属性按空格分割成列表,再判断是否包含目标class:

    p[tokenize(@class, '\s+') = 'fBmSdW']
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 13:45:30