我正在尝试使用xpath函数lower-case
或upper-case
获取xpath查询,但它们似乎无法在selenium中工作(在我应用它之前测试我的xpath)。
不起作用的示例:
//*[.=upper-case('some text')]
我在复杂路径中找到我需要的节点,甚至使用聚合函数都没有问题,只要我不使用大小写。
之前有没有遇到过这个?它有意义吗?
感谢。
答案 0 :(得分:54)
upper-case()
和lower-case()
是XPath 2.0函数。您的平台可能只支持XPath 1.0。
尝试:
translate('some text','abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')
这是XPath 1.0的方法。不幸的是,这需要知道文本使用的字母表。对于普通英语,上述内容可能有效,但如果您希望重音字符,请确保将它们添加到列表中。
答案 1 :(得分:2)
如果您需要在xslt中的多个位置使用大写,您可以为小写和大写定义变量,然后在您的translate函数中随处使用它们。它应该让你的xslt更清洁。
的示例