Utilisation des fonctions XPath majuscule et minuscules dans L'IDE du sélénium

j'essaie d'obtenir une requête xpath en utilisant la fonction xpath lower-case ou upper-case , mais elles ne semblent pas fonctionner dans le sélénium (où je teste mon xpath avant de l'appliquer).

exemple qui ne fonctionne pas:

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

Je n'ai aucun problème à localiser les noeuds dont j'ai besoin dans un chemin complexe et même en utilisant des fonctions agrégées, tant que je n'utilise pas les majuscules et les minuscules.

quelqu'un a déjà vu ça? Faire - il du sens?

Merci.

23
demandé sur Dai 2009-10-26 18:21:03

2 réponses

upper-case() et lower-case() sont des fonctions XPath 2.0. Il y a de fortes Chances que votre plate-forme ne supporte que XPath 1.0.

, Essayez:

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

qui est la façon XPath 1.0 de le faire. Malheureusement, cela nécessite la connaissance de l'alphabet utilisé dans le texte. Pour un anglais simple, ce qui précède fonctionne probablement, mais si vous attendez des caractères accentués, assurez-vous de les ajouter à la liste.

51
répondu Tomalak 2009-10-26 16:45:30

Si vous allez avoir besoin de majuscule dans plusieurs endroits dans votre xslt, vous pouvez définir des variables pour les majuscules et puis les utiliser dans votre fonction de traduction de partout. Il devrait rendre votre xslt beaucoup plus propre.

exemple à XSL / XPATH: pas de fonction majuscule dans MSXML 4.0 ?

2
répondu Rashmi Pandit 2017-05-23 11:54:22