Ich habe ein Stück eines solchen HTML-Codes
<td>
<a href="CMenu?op=m&menuID=42&rurl={{rurl}}" title="Edit menu">
<img border="0" alt="" src="Images/application.gif">
Case
</a>
</td>
und müssen den Text "Case" finden.
Ich verwende verschiedene XPath-Abfragen, aber keine davon ist gut, alle finden nichts:
//a[text() = ' Case']
//a[text() = 'Case']
//td/a[normalize-space(text()) = 'Case']
//td[a[normalize-space(.) = 'Case']]
//td[a[normalize-space(text()) = 'Case']]
//*[starts-with(.," Case")]
//*[starts-with(.,"Case")]
Aber wenn ich versuche, diesen Artikel mit
//a[contains(.,'Case') and string-length() = 5]
Es funktioniert, aber ich kann nicht akzeptieren, harten Code "5", ich möchte diese XPath Mehrzweck für andere relative Elemente zu machen.
Und wenn ich die
//a[contains(.,'Case')]
Ich finde eine Liste von Elementen, die "Case" enthalten, brauche aber nur eines mit "Case" und nicht mehr Zeichen. Vielleicht mache ich etwas falsch, nur wollen es klar zu mir zu nehmen.
Mein Kollege sagt mir, dass ich diesen einen XPath verwenden kann
//a[substring(text(),2)='Case']
Überspringen Sie einfach diese Stelle. Ich finde heraus, dass es funktioniert, aber es scheint mir, dass es einen anderen Weg gibt, mein Problem zu lösen, ohne zu überspringen oder zu passieren.