如何为具有$符号的Class编写元素的选择器

时间:2016-09-27 14:10:20

标签: android selenium xpath appium

我正致力于移动测试自动化。基本上我尝试使用APPIUM with Eclipse(HELIOS)和JAVA在Android模拟器中选择一个新日期。时间选择器的类名是:

android.widget.RadialTimePickerView$RadialPickerTouchHelper

尽可能有美元符号($)。如果我使用以下语法。

List timeButtons = driver.findElements(By.xpath("//android.widget.RadialTimePickerView$RadialPickerTouchHelper"));

我收到错误消息无效的XPATH / CSS选择器。

2 个答案:

答案 0 :(得分:0)

您的XPath无效。没有元素android.widget.RadialTimePickerView$RadialPickerTouchHelper。你想要像

这样的东西
driver.findElements(By.xpath("//div[@class='android.widget.RadialTimePickerView$RadialPickerTouchHelper']"));

您需要将DIV部分替换为包含该类的任何元素。

答案 1 :(得分:0)

您可以使用classname标识元素,将其存储在List中,并使用其索引或某个属性访问它。

List <WebElement> allElements = driver.findElements(By.classname("android.widget.RadialTimePickerView$RadialPickerTouchHelper"))

在此之后,迭代列表并执行操作