新闻中心

XPath中contains函数怎么用 XPath模糊匹配节点方法

2025-12-15
浏览次数:
返回列表
contains()是XPath中用于模糊匹配子串的函数,语法为contains(string,substring),常用于匹配包含指定文本或属性值的节点,支持结合标签名、层级等提升定位准确性。

xpath中contains函数怎么用 xpath模糊匹配节点方法

contains() 是 XPath 中最常用的模糊匹配函数,用来判断某个字符串是否包含指定的子串,常用于定位文本内容不固定、但部分特征已知的节点。

contains() 基本语法和用法

函数签名:contains(string, substring),返回布尔值(true 或 false)。常用在 [@attribute][text()] 的谓词中。

  • 第一个参数是待搜索的字符串,通常是属性值(如 @class)或文本内容(如 text()
  • 第二个参数是要查找的子串,必须是字符串字面量(加引号)或另一个返回字符串的表达式
  • 大小写敏感 —— contains(@id, 'btn') 不会匹配 id="BtnSubmit"

匹配包含特定文本的元素

比如找所有文字中含“登录”的按钮:

//button[contains(text(), '登录')]

注意:text() 只匹配直接子文本节点,如果按钮里有 <span></span> 或换行,可能匹配不到。更稳妥的方式是用 . 表示整个节点的合并文本:

//button[contains(., '登录')]

匹配包含特定属性值的元素

常见于 class 名动态、有多个类名的情况:

//div[contains(@class, 'header')]

这能匹配 class="top-header n*"class="header-active" 等含 header 的情况。

AI Code Reviewer AI Code Reviewer

AI自动审核代码

AI Code Reviewer 112 查看详情 AI Code Reviewer
  • 避免写成 @class = 'header'(完全相等),那只能匹配单个且精确的 class
  • 多个条件可叠加: //input[contains(@type,'text') and contains(@name,'user')]

组合使用提升准确性

单独用 contains() 容易误匹配,建议结合标签名、层级或其它属性缩小范围:

//ul[@id='n*']/li/a[contains(@href, '/product')]

上面例子先限定是 id 为 n* 的 ul 下的链接,再筛选 href 含 /product 的 a 标签,比单纯 //a[contains(@href,'product')] 更可靠。

也支持嵌套函数,比如忽略大小写(需 XPath 2.0+):contains(lower-case(@alt), 'logo');若用 Selenium(1.x)或老版本解析器,得靠程序层处理。

基本上就这些 —— 掌握 contains(., 'xxx')contains(@attr, 'xxx') 这两种主干写法,再配合路径约束,就能覆盖绝大多数模糊定位场景。

以上就是XPath中contains函数怎么用 XPath模糊匹配节点方法的详细内容,更多请关注其它相关文章!


# 中文网  # 新民网站关键词排名  # 河北区网络营销和推广  # 银川网站建设详细教程  # 濮阳中英网站建设  # 丹东seo软件必看网站  # 唐山seo网站优化软件  # 黄浦区推广营销咨询热线  # 吴川网站建设推广费用  # 广告网站建设搭建  # 辽源seo助手成功案例  # go  # 第二个  # 相关文章  # 就能  # 第一个  # 构建一个  # 如何处理  # 多个  # 高性能  # 自定义  # ai 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: composer的"require-dev"部分是用来做什么的?  谷歌浏览器浏览体验优化_谷歌浏览器新版直连永久可用提示  支付宝如何设置安全保护_支付宝安全设置的全面教程  1688商家版怎样分析买家画像精准供货_1688商家版分析买家画像精准供货【供货策略】  C++ string find函数返回值npos详解_C++字符串查找失败的判断条件  解决J*aScript中重复选择项的确认对话框显示问题  QQ邮箱官方登录入口_QQ邮箱网页版快捷使用平台  高德地图家和公司地址在哪设置 高德地图通勤路线设置方法【超详细】  Go语言中JSON数据解析与字段访问教程  如何使用Node.js csv 包按条件移除含空字段的CSV记录  Yandex免登录官网入口_俄罗斯Yandex搜索引擎直达链接  新三国志曹操传110级星符试炼夏侯渊极难攻略  Excel函数批量查找替换超快方法_Excel用REPLACE和FIND函数秒级替换  微信群消息显示延迟如何解决 微信群消息刷新优化方法  如何修改开机登录密码_Windows账户安全设置超详细教程【必学】  Log4j Console Appender性能瓶颈与高并发优化策略  字由网在线版登录地址 字由网网页版安全入口  高德地图沿途添加点失败如何解决 高德多点规划方法  cad如何更改注释性对象的比例_cad注释性比例调整方法  KFC游戏互动怎么赢取优惠券_KFC线上游戏活动参与与优惠代码赢取教程  win11如何卸载Windows更新补丁 Win11解决更新导致系统不稳定的问题【修复】  在Go开发中优雅管理ListenAndServe进程:GoSublime集成方案  魅族17怎样用浏览器译外语网页_iPhone魅族17浏览器译外语网页【即时翻译】  不同用户不同价格! 索尼开启账户个性化定价测试  蛙漫安全无毒 官方认证的绿色入口  KFC早餐时段怎么领特惠代码_KFC早餐订餐优惠代码获取与使用说明  MAC的“快捷指令”怎么同步到iPhone_MAC利用iCloud同步所有设备的自动化指令  Excel Power Pivot如何处理XML数据源 构建高级数据模型  妖精漫画网页版登录入口免费_妖精漫画官网主页直接阅读漫画  从OpenAI API响应中高效提取生成文本  如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率  百度网盘网页版入口 百度网盘网页版官方登录网址  windows10怎么查看本机ip_windows10命令提示符ipconfig使用  蛙漫画网页版全站入口 蛙漫热门作品免费浏览  JUnit5/Mockito:优雅测试内部依赖与异常处理的实践  QQ邮箱在线使用入口 QQ邮箱个人账号网页版登录  蛙漫官方正版入口 蛙漫网页在线全集免费观看  魅族20怎样在浏览器开无图省流_iPhone魅族20浏览器开无图省流【流量节省】  漫蛙官网正版漫画入口 漫蛙2官方网页登录地址  QQ邮箱网页版快速登录 QQ邮箱邮箱账号官方入口地址  html5 app怎么运行环境_配html5 app运行环境【教程】  QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台  NetBeans Ant项目:自动化将资源文件复制到dist目录的教程  C++如何实现线程池_C++11手动实现一个简单的固定大小线程池  uc浏览器网页版极速入口 uc网页浏览器网页版流畅体验  Typer应用中动态命令行参数的解析与处理  在哪找SublimeJ远程工具_SFTP插件配置教程  Excel如何用迷你图显趋势_Excel用迷你图显趋势【趋势小图】  AO3官方镜像站点汇总 AO3同人作品网页版直达链接  TikTok评论显示延迟如何处理 TikTok评论刷新优化方法 

搜索