如何为带有 $ 符号的 Class 的元素编写选择器
Posted
技术标签:
【中文标题】如何为带有 $ 符号的 Class 的元素编写选择器【英文标题】:How to write a selector for an element with a Class that has a $ sign 【发布时间】:2017-02-05 05:17:43 【问题描述】:我正在研究移动测试自动化。基本上我正在尝试在android模拟器中使用APPIUM和Eclipse(HELios)和JAVA来选择一个新的日期。时间选择器的类名是:
android.widget.RadialTimePickerView$RadialPickerTouchHelper
你可以有美元符号($)。如果我使用以下语法。
List timeButtons = driver.findElements(By.xpath("//android.widget.RadialTimePickerView$RadialPickerTouchHelper"));
我收到一条错误消息,XPATH/CSS 选择器无效。
【问题讨论】:
然后使用单引号,$ 将不会被解释。 面临完全相同的问题。您能否为这种情况找到可行的解决方案 【参考方案1】:您的 XPath 无效。没有元素android.widget.RadialTimePickerView$RadialPickerTouchHelper
。你想要类似的东西
driver.findElements(By.xpath("//div[@class='android.widget.RadialTimePickerView$RadialPickerTouchHelper']"));
您需要将DIV
部分替换为包含该类的任何元素。
【讨论】:
【参考方案2】:您可以使用类名识别元素,将其存储在列表中并使用其索引或某些属性访问它。
List <WebElement> allElements = driver.findElements(By.classname("android.widget.RadialTimePickerView$RadialPickerTouchHelper"))
在此之后,迭代列表并执行操作
【讨论】:
以上是关于如何为带有 $ 符号的 Class 的元素编写选择器的主要内容,如果未能解决你的问题,请参考以下文章