【发布时间】:2021-02-09 21:22:51
【问题描述】:
我正在尝试将 xpath 作为参数传递(redirectButton):
WebElement zoomLogo = driver.findElement(By.xpath(redirectButton));
testsuite.xml 中的行如下所示:
<parameter name="redirectButton"
value=""//img[@alt='zoom logo colour long']")" />
但是当我尝试使用 testng 通过 testsuite 文件运行测试时,它显示以下错误:
SyntaxError: Failed to execute 'evaluate' on 'Document': The string '"//img[@alt='zoom logo colour long']")' is not a valid XPath expression.
我确信我有正确的 xpath,因为当我将它直接粘贴到代码中时,一切正常,但是当我尝试通过参数执行它时它不起作用。
可以通过参数来实现吗?
【问题讨论】:
-
testsuite.xml 中的行应该是
<parameter name="redirectButton" value="//img[@alt='zoom logo colour long']" />(没有&quot;和最后的)),因为xpath 本身是//img[@alt='zoom logo colour long']。如果您在 Java 中将 xpath 编写为 String,则必须将其放在引号中,但这是在 Java 中定义字符串的方式,而不是 xpath 表达式的一部分。
标签: java selenium selenium-webdriver syntax-error testng