XPath中的函数contains()怎么用


contains()是XPath中用于判断字符串是否包含指定子串的函数,返回布尔值,不区分大小写、不支持正则,常用于模糊定位元素,基本格式为contains(字符串,子串)。

xpath中的函数contains()怎么用

contains() 是 XPath 中最常用的字符串匹配函数之一,用来判断某个字符串是否**包含**指定的子串,返回布尔值(truefalse)。它不区分大小写,也不支持正则,但简单直接,特别适合模糊定位元素。

基本语法和用法

函数格式是:contains(字符串, 子串)。两个参数都必须是字符串类型,通常第一个参数用节点的文本内容(如 text())或属性值(如 @class),第二个参数是你要查找的关键词。

  • ✅ 正确写法:contains(text(), '提交') —— 匹配文本中含“提交”的元素
  • ✅ 常见组合:contains(@class, 'btn-primary') —— 匹配 class 属性包含 "btn-primary" 的元素
  • ⚠️ 注意:如果 text() 返回多个文本节点,contains(text(), ...) 可能行为不稳定,建议用 contains(string(.), ...) 更稳妥

实际定位场景举例

假设网页中有这样一段 HTML:

Topaz Video AI Topaz Video AI

一款工业级别的视频增强软件

Topaz Video AI 511 查看详情 Topaz Video AI
订单已成功提交
  • 找按钮:“提交”在文本里 → //button[contains(text(), '提交')]
  • 找 div:“已成功提交”含“提交” → //div[contains(text(), '提交')]
  • 按 class 模糊匹配 → //*[@class and contains(@class, 'btn')](匹配所有 class 含 “btn” 的元素)

常见坑和注意事项

  • contains() 不支持通配符或正则,比如 contains(text(), '提*交') 会报错
  • ❌ 参数不能为节点集(除非自动转为字符串),像 contains(div, 'abc') 是错的;应写成 contains(div/text(), 'abc')contains(div, 'abc')(此时 div 被隐式转为字符串)
  • ✅ 多关键词组合?用 and 连接: //a[contains(@href, 'user') and contains(text(), '编辑')]
  • ✅ 忽略大小写?XPath 1.0 本身不支持,可配合 translate() 函数模拟,但更推荐在支持 XPath 2.0+ 的环境(如 Selenium 4+)中用 matches()

基本上就这些。掌握 contains() 就能解决 80% 的动态/不完整文本匹配需求,不复杂但容易忽略细节。

以上就是XPath中的函数contains()怎么用的详细内容,更多请关注其它相关文章!


# js  # ai  # 关键词  # 不支持  # 不需要  # 如何处理  # html  # 就能  # 网站改版升级建设  # 为玉石制定推广营销方案  # 优化网站名称怎么改的  # 蜘蛛seo快速推广方法  # 武汉口碑营销推广方案  # 地产网站建设方案  # 知识库网站推广方案  # 苏州网络营销推广收费  # 多个  # 第一个  # 也不  # 文档  # 加载  # 营销推广公司全称  # 三都县网站优化营销 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: Yandex俄罗斯搜索引擎官网入口 Yandex网页端直接访问  126邮箱网页在线登录2025_126邮箱网页版入口官方地址  吃完饭就犯困是什么原因 餐后嗜睡如何缓解  Highcharts雷达图径向轴数值标签实现教程  教育查询官方网站入口 教育个人档案查询免费官网  易车网官网直达入口 易车网在线登录入口  b站怎么用微信登录_b站微信登录方法  C++如何使用CMake构建项目_C++ CMakeLists.txt编写入门教程  歌词怎么展示在|直播|间视频号?有什么注意事项?  泰拉瑞亚水晶无法放置问题  动漫之家观看全集库 动漫之家免费资源网地址  《雷电模拟器》截图方法介绍  《植物大战僵尸3》火龙草作用介绍  抖音火山版注销账号抖音会注销吗 抖音火山版与抖音账号注销关系  《360浏览器》设置摄像头权限方法  TikTok视频播放不流畅怎么办 TikTok视频播放优化方法  解决C#跨线程访问XML对象的异常 安全的并发XML处理模式  在Flask应用中安全高效地更新SQLAlchemy用户数据  《红果免费短剧》下载观看方法  小红书如何引流到私信?引流到私信有用吗?  网页版网易云音乐入口_网易云音乐在线官网登录  Python实时数据流中高效查找最大最小值  如何在CSS中使用伪类选择器_hover实现悬停效果  解决CSS布局中意外顶部空白问题的教程  如何解决Casbin日志与应用日志不统一的问题,使用casbin/psr3-bridge实现无缝集成  《新三国志曹操传》游历事件袁尚突围攻略  铁拳8在线玩 铁拳8在线秒玩入口  composer licenses 命令:如何检查项目依赖的许可证?  性能与资源监视器快捷打开  sublime如何配置PHP开发环境_在sublime中运行与调试PHP代码  深入理解随机递归函数的确定性:内部节点、叶节点与时间复杂度分析  如何外贸网站设计-能留住客户提升用户体验!  《微信》视频号原创声明开启方法  DeepSeek超全面指南:入门必看  一加 Ace 6V 快充无法启用_一加 Ace 6V 充电优化  抄漫画官网防走失地址_抄漫画最新漫画完整版阅读入口  腾讯QQ邮箱官方入口 QQ邮箱网页版登录平台  以下哪一个是适应长期护理制度发展而设立的新职业  sublime怎么快速在浏览器中预览HTML_sublime配置View in Browser教程  家里的小飞虫总是不断,用什么方法可以彻底根除?  在Peewee中处理PostgreSQL记录重复:一站式数据摄取教程  vivo浏览器怎么离线保存网页 vivo浏览器下载完整页面以便无网络时阅读  《下一站江湖2》大雪山加入方法  《雅迪智行》用手机开锁方法  AO3官方镜像链接 | 最新防走失网址永久收藏  《绿竹漫游》关闭消息通知方法  VS Code源代码管理(SCM)视图的进阶使用技巧  CSS如何在页面中引入重置样式_使用Normalize.css或Reset.css统一浏览器默认样式  2025考研成绩查询时间入口分享  优化Google Charts Gauge:在数据库无数据时显示默认值 

 2025-12-17

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.