使用正则表达式在selenium xpath表达式中出现语法错误

时间:2014-09-14 14:40:02

标签: regex firefox selenium xpath selenium-webdriver

在Selenium 2.42.2和Firefox 29中,这个使用正则表达式的XPath表达式出了什么问题:

//button[matches(text(),'\s*ABC\s*')]

它给出以下错误消息:

[Exception... "The expression is not a legal expression."  code: "12" nsresult: "0x805b0033 (SyntaxError)"  location: "<unknown>"]

1 个答案:

答案 0 :(得分:1)

matches()part of xpath 2.0。关于xpath支持selenium webdriver relies on the browser,在你的情况下是Firefox,据我所知,doesn't support xpath 2.0

1.0中有很多功能可以帮助您克服这个问题。

例如,contains()

//button[contains(., 'ABC')]

如果文字位于字符串的开头或结尾,您可以应用starts-with()ends-with()

//button[starts-with(., 'ABC')]
//button[ends-with(., 'ABC')]

另见相关主题: