2017-06-28 3 views
0

Ich erhielt einen Xpath ähnlich der folgenden Zeile. Da es kein anderes Beispiel für einen solchen verfügbaren X-Pfad gibt, frage ich, ob jemand die richtige Syntax dafür hat, da der aktuelle in Selen nicht funktioniert und bei Verwendung von storeElementPresent immer das "falsche" Ergebnis liefert. Ich vermute, dass etwas im zweiten Übersetzungsteil falsch sein könnte.Was ist die richtige Syntax für ein contain Attribut

//a[contains(translate(@title, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), "(translate('String', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')")] 
+0

"Da es kein anderes Beispiel für einen solchen XPath gibt, frage ich nach, ob" - ich hoffe, das bedeutet nicht, dass Sie hier um Hilfe bitten, wenn Sie einen XPath-Ausdruck schreiben müssen und nicht können finde einen, der schon geschrieben wurde, der genau das tut, was du brauchst. –

Antwort

1

Die XPath Funktion contains(a,b) true zurück iff b wird in a enthalten.

Ihre ein ist

translate(@title, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') 

, die den Kleinen Wert des @title Attributs ist.

Ihr b ist

"(translate('String', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')" 

, die eine Zeichenkette ist Zeichen enthalten (, t, r, a, n ... – wahrscheinlich nicht, was Sie wollen.

Stattdessen b sollte so etwas wie "asdf" sein, um zu testen, ob der Attributwert von @title, in Kleinbuchstaben umgewandelt, enthält eine "asdf" String.

0

Zurück Antwort geholfen, die Lösung in Form von

//a[contains(translate(@title, "ABC", "abc"), translate("string","ABC","abc"))] 

findet Anscheinend ist die zwischen cotes und Klammer festsaß übersetzen, wenn es nicht haben sollte.

+0

Sie erkennen also, dass 'translate (" string "," ABC "," abc ")' nur "string" auswertet, oder? – kjhughes

+0

Nun, was ich geschrieben habe, scheint zu funktionieren, da es wahr werden wird, egal wie ich die Zeichenfolge ändere. Ich bin nicht sicher, was Sie damit meinten, dieser gesamte XPath wurde gemacht, um die sogenannte spezifische Zeichenfolge zu bewerten. Danke für die Warnung, aber dies könnte mein Team zu etwas veranlassen, wenn es ein Problem gibt. –

Verwandte Themen