Xpath "ends-with"不起作用

标签 xpath ends-with

我试图找到一个动态 id 名称始终以“register”结尾的输入元素。到目前为止我尝试过这个

"//input[@id[ends-with(.,'register')]]"

还有这个

"//input[ends-with(@id,'register')]"

这些都不会产生元素。我究竟做错了什么?同时这也有效:

"//input[@id[contains(.,'register')]]"

这是源码的一部分:

<td class="input">
<input id="m.f0.menu.f2.volumeTabs.BLOCK_COMMON.tcw.form.register" name="m.f0.menu.f2.volumeTabs.BLOCK_COMMON.tcw.form.register" class="aranea-checkbox" type="checkbox"> </td>

最佳答案

ends-with 函数是 xpath 2.0 的一部分,但浏览器(您表明您正在使用 chrome 进行测试)通常仅支持 1.0。因此,您必须自己使用 string-lengthsubstring 和 equals

的组合来实现它
substring(@id, string-length(@id) - string-length('register') +1) = 'register'

关于Xpath "ends-with"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22436789/

相关文章:

xml - XPath新手:使用XPath和唯一属性查询xml元素?

r - R : return NA if node is missing 中的 XPath

python - 如果以特定字符串结尾,则创建一个新列

ruby - 如何查看字符串是否以多个字符之一结尾

xml - XSLT - 不能在复杂的图形表示中只复制一次元素

PHP XML 内存泄漏?

xpath - 应用 XPath 函数 'substring-after'

r dplyr ends_with多个字符串匹配

python - 类型错误 : endswith first arg must be str or a tuple of str, 不是 boolean 值

c# - 我对 String.EndsWith 的使用有什么问题?