58

動的 ID 名が常に「登録」で終わる入力要素を見つけようとしています。これまでのところ、私はこれを試しました

"//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>
4

2 に答える 2

118

このends-with関数は xpath 2.0 の一部ですが、ブラウザー (chrome でテストしていることを示しています) は通常 1.0 のみをサポートします。string-lengthそのため、substringと equalsを組み合わせて自分で実装する必要があります

substring(@id, string-length(@id) - string-length('register') +1) = 'register'
于 2014-03-16T14:07:49.317 に答える