J'essaie de trouver un élément d'entrée avec un nom d'identifiant dynamique se terminant toujours par "register". Jusqu'ici j'ai essayé
"//input[@id[ends-with(.,'register')]]"
et ça
"//input[ends-with(@id,'register')]"
aucun de ceux-ci ne résulte en un élément. Qu'est-ce que je fais mal? Dans le même temps, cela fonctionne:
"//input[@id[contains(.,'register')]]"
Voici la partie de la source:
<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>
La fonction ends-with
Fait partie de xpath 2.0 mais les navigateurs (vous indiquez que vous testez avec chrome) ne prennent généralement en charge que 1.0. Donc, vous devrez l'implémenter vous-même avec une combinaison de string-length
, substring
et égale
substring(@id, string-length(@id) - string-length('register') +1) = 'register'