XPath starts-with()和ends-with()函数怎么用


starts-with()在XPath 1.0已支持,用于匹配字符串开头;ends-with()仅XPath 2.0+支持,用于匹配结尾;老版本需用substring()+string-length()模拟,二者均区分大小写且参数自动转字符串。

xpath starts-with()和ends-with()函数怎么用

XPath 的 starts-with()ends-with() 都是用来匹配字符串开头或结尾的函数,但要注意:只有 XPath 2.0 及以上版本才支持 ends-with();而 starts-with() 在 XPath 1.0 就已存在,兼容性更好。

starts-with():判断元素文本或属性是否以指定字符串开头

语法:starts-with(string, substring),返回布尔值(true/false)。常用于定位类名、URL、ID 等有固定前缀的节点。

  • 匹配所有 class 属性以 "btn" 开头的按钮://*[@class and starts-with(@class, "btn")]
  • 查找 href"https://" 开头的链接://a[starts-with(@href, "https://")]
  • 注意:如果属性为空或不存在,starts-with(@attr, "...") 会返回 false,不会报错

ends-with():判断元素文本或属性是否以指定字符串结尾(XPath 2.0+)

语法:ends-with(string, substring),同样返回布尔值。适合筛选文件扩展名、状态后缀等场景。

CodeGeeX CodeGeeX

智谱AI发布的AI编程辅助工具插件,可以实现自动代码生成、代码翻译、自动编写注释以及智能问答等功能

CodeGeeX 191 查看详情 CodeGeeX
  • 找所有 src".png" 结尾的图片://img[ends-with(@src, ".png")]
  • 选中 class 名以 "-active" 结尾的元素:*[ends-with(@class, "-active")]
  • ⚠️ 如果用在只支持 XPath 1.0 的环境(比如老版本 Selenium 或某些浏览器 DevTools),ends-with() 会直接报错——此时得用替代写法(见下条)

XPath 1.0 中模拟 ends-with() 的方法

因为不支持 ends-with(),可以用 substring() + string-length() 组合实现:

  • 等价于 ends-with(@src, ".pdf") 的写法:@src and substring(@src, string-length(@src) - 3) = ".pdf"
  • 更稳妥一点(避免长度不足报错):@src and substring(@src, string-length(@src) - 3) = ".pdf" and string-length(@src) >= 4
  • 原理:取字符串末尾 4 个字符(".pdf" 长度为 4),和目标比对

实用小提醒

  • 两个函数都区分大小写,starts-with("Apple", "a") 是 false
  • 参数必须是字符串类型,数字或布尔值会自动转字符串(如 starts-with(@id, 123) 等价于 starts-with(@id, "123")
  • 想同时匹配开头和结尾?可以组合使用://a[starts-with(@href,"/page") and ends-with(@href,".html")]

基本上就这些。用对函数能少写很多冗余表达式,特别是处理动态 class 或 URL 时很顺手。

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


# 如何在  # 濮阳门户网站seo优化  # 青海seo排名收费标准  # 查询多个asin查关键词排名  # 网站为什么要做广告推广  # 描述营销推广目标的词语  # 公司seo介绍  # 儋州爱采购关键词排名  # 沈阳短视频优化网站  # 教育国内网站建设  # 西藏百度网站优化推广  # 相关文章  # 可以用  # html  # 文档  # 加载  # 都是  # 如何处理  # 布尔值  # 不需要  # 报错  # apple  # pdf  # app  # 浏览器 


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


相关推荐: PointNet++语义分割模型中类别变更引发的断言错误及标签处理策略  12306不能订票的时间段是固定的吗? | 节假日购票时间有无变化  手机坏了微信聊天记录怎么导出来 新手机恢复聊天记录技巧  《磁力猫》最好用的磁官网  微信朋友圈怎么设置三天可见 微信朋友圈设置指定天数可见步骤【教程】  TikTok网页版实时观看入口 TikTok网页版短视频在线浏览  百度输入法在AutoCAD中无法输入中文怎么办_百度输入法CAD输入异常解决方法  Windows自带的便笺数据如何备份_防止数据丢失的便利贴迁移教程【干货】  抖音怎么解除第三方绑定_抖音解除第三方平台绑定方法介绍  高效调试PHP大型嵌套数组:JSON序列化与可视化工具实践  红手指专业版app注册教程  英雄联盟争者留名活动介绍  网易云音乐闹钟铃声设置教程  《雷电模拟器》自动点击设置方法  批改网网页版登录 批改网电脑版学生登录入口  嘀嗒顺风车如何开具电子发票  Mac如何开启画中画模式_Mac Safari浏览器视频画中画功能  QQ邮箱注册地址 免费获取QQ邮箱账号  J*aScript类型数组_TypedArray使用  顺丰官方查单号入口 顺丰快递单号查询官网入口  Python中安全地将环境变量转换为整数的类型注解指南  解决J*aScript动态图片上传中ID重复问题:在同一页面显示多张独立图片  sublime怎么快速在浏览器中预览HTML_sublime配置View in Browser教程  风神瞳获取全攻略  word文档中的分隔符有哪些不同类型和用途_Word分隔符类型与用途方法  163邮箱在线登录 163邮箱网页版在线入口  植物大战僵尸95版游戏版下载_植物大战僵尸95版游戏版安装指南  在VS Code中利用AI辅助进行代码迁移  CSS绝对定位与溢出控制:实现背景元素局部显示不触发滚动条  PDF如何批量加注释_PDF多文件批注高亮操作教程  微博网页版访问入口 微博网页版网页端使用指南  使用逻辑应用(Logic Apps)自动处理邮件附件中的XML到Excel  VS Code中的Tailwind CSS IntelliSense插件使用技巧  晨报|开发商暗示《空洞骑士:丝之歌》DLC开发中 《合金装备4》有望重制  《procreate》绘制渐变效果教程  sublime如何配置PHP开发环境_在sublime中运行与调试PHP代码  荣耀 Magic10 Pro 系统更新提示失败_荣耀 Magic10 Pro 升级修复  如何在CSS中使用过渡制作按钮边框渐变_border-color transition实现  WPS长文档分栏排版不乱方法_WPS分栏+分节符报纸排版教程  创建您的便携版VS Code:让配置随身携带  研招网官方网站招生平台入口_中国研究生招生信息网官网登录  j*a中ArrayBlockingQueue的使用  《爱南宁》认证电动车方法  Google Cloud Functions 时区处理指南:理解与最佳实践  Python对象引用与属性赋值:理解链表中的行为  Selenium自动化:利用键盘模拟解决复杂日期输入框输入问题  电脑没有声音了怎么办 电脑声音问题的全面排查与修复指南【详解】  Python测试中模块导入路径解析的最佳实践  申通快件单号查询平台 申通包裹物流动态跟踪  J*aScript二进制处理_ArrayBuffer与Blob 

 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.