首页 > 解决方案 > 无法在 selenium 中使用“$”字符编译 xpath

问题描述

我试图使用下面的 xpath 点击一个元素

driver.findElement(By.xpath("//android.widget.RadialTimePickerView$RadialPickerTouchHelper[@index='4']")).click();

但它给了我以下错误

造成的:org.jaxen.XPathSyntaxException: Unexpected '$'

标签: seleniumxpath

解决方案


有效 XPath 节点测试的语法由https://www.w3.org/TR/2017/REC-xpath-31-20170321/#node-tests给出。它基本上归结为允许的名称由https://www.w3.org/TR/REC-xml/#NT-Name定义,这不包括 $ 符号。

所以 Selenium 抱怨这个$标志是不允许的是正确的。

不过,您也许可以使用 Selenium 提供的其他一些定位技术。


推荐阅读