我想使用xpath函數小寫或uppper-case來獲取xpath查詢,但它們似乎無法在硒中工作(我在測試我的xpath之前我應用它)。selenium中的大寫和小寫xpath函數的問題IDE
例不工作: //*[.=upper-case('some文')]
我沒有問題,我的定位需要複雜的路徑節點,甚至使用聚合函數,如只要我不使用大寫和小寫。
有沒有人遇到過這個?是否有意義?
謝謝。
我想使用xpath函數小寫或uppper-case來獲取xpath查詢,但它們似乎無法在硒中工作(我在測試我的xpath之前我應用它)。selenium中的大寫和小寫xpath函數的問題IDE
例不工作: //*[.=upper-case('some文')]
我沒有問題,我的定位需要複雜的路徑節點,甚至使用聚合函數,如只要我不使用大寫和小寫。
有沒有人遇到過這個?是否有意義?
謝謝。
upper-case()
和lower-case()
是XPath 2.0函數。有可能你的平臺只支持XPath 1.0。
嘗試:
translate('some text','abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')
這是XPath 1.0的方式來做到這一點。不幸的是,這需要知道文本使用的字母表。對於簡單的英語,上面可能有效,但如果你期望重音字符,請確保將它們添加到列表中。
的確,謝謝! 不幸的是,這根本不是'乾淨'的...... :( (它會使我們在Fitnesse的GenericFixture中更復雜的DSL已經複雜化) 任何人有任何想法,當硒RC或火狐(我不知道誰會負責任)將採用XPath 2.0? – Aristotelis
對不起,但我不知道,我知道它並不乾淨,但它是用XPath 1.0獲得的最好結果。 – Tomalak
@Aristotelis:是的,這似乎是XML是Unicode,而不是ASCII /英文,因此,爲了大寫,它需要知道排序規則,排序規則知識被添加到XPath 2.0中。 – 2010-09-10 19:35:47
如果您要在xslt的多個位置需要大寫字母,您可以爲小寫字母和大寫字母定義變量,然後在翻譯功能中隨處使用它們。它應該讓你的xslt更清潔。
這是很好的注意,在XSL文件工作的人,使用CSS」文本特性解決了像資本轉化的問題。獲取更多信息:http://www.w3schools.com/css/pr_text_text-transform.asp – sid3k