我试图找到一个动态 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-length
、substring
和 equals
substring(@id, string-length(@id) - string-length('register') +1) = 'register'
关于Xpath "ends-with"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22436789/