包含属性translate的正确语法是什么

时间:2017-06-28 15:25:45

标签: selenium xpath

我收到了类似下面一行的xpath。因为没有其他例子可以使用这样的x路径,我可以询问某人是否有正确的语法,因为当前的一个不能在硒中起作用,不断产生“假”错误的'使用storeElementPresent时的结果。我怀疑第二个翻译部分可能有问题。

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

2 个答案:

答案 0 :(得分:1)

XPath函数contains( a , b )如果包含 b ,则返回true在 a

您的 a

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

这是@title属性的小写值。

您的 b

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

这是一个包含字符(tran的文字字符串... - 不太可能是您想要的。< / p>

相反, b 应该类似于"asdf",以便测试转换为小写的@title的属性值是否包含"asdf"子字符串。

答案 1 :(得分:0)

以前的回答有助于以

的形式找到解决方案
//a[contains(translate(@title, "ABC", "abc"), translate("string","ABC","abc"))]

显然,如果不应该将翻译卡在cotes和括号之间。