Vraag Gebruik van hoofd- en kleine xpath-functies in selenium IDE


Ik probeer een xpath-query te krijgen met de xpath-functie lower-case of upper-case, maar ze lijken niet te werken in selenium (waar ik mijn xpath test voordat ik het toepas).

Voorbeeld dat NIET werkt:

//*[.=upper-case('some text')]

Ik heb geen probleem om de knooppunten die ik nodig heb te vinden in een complex pad en zelfs geaggregeerde functies te gebruiken, zolang ik de hoofdletters en kleine letters niet gebruik.

Heeft iemand dit al eerder gezien? Is het logisch?

Bedankt.


23
2017-10-26 15:21


oorsprong


antwoorden:


upper-case() en lower-case() zijn XPath 2.0-functies. De kans bestaat dat uw platform alleen XPath 1.0 ondersteunt.

Proberen:

translate('some text','abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')

wat de XPath 1.0 manier is om het te doen. Helaas vereist dit kennis van het alfabet dat de tekst gebruikt. Voor gewoon Engels werkt het bovenstaande waarschijnlijk, maar als u geaccentueerde tekens verwacht, zorg er dan voor dat u ze toevoegt aan de lijst.


51
2017-10-26 16:45



Als u op meerdere plaatsen in uw xslt hoofdletters moet hebben, kunt u variabelen definiëren voor kleine letters en hoofdletters en ze overal in uw vertaalfunctie gebruiken. Het zou je XSLT veel schoner moeten maken.

Voorbeeld op XSL / XPATH: geen hoofdletterfunctie in MSXML 4.0?


2
2017-12-31 03:55