![](/img/trans.png)
[英]in Android, Using Webdriverio, How select elment by resource-id?
[英][android][appium] how to click on element with no resource-id?
有两种方法可以做到:
首先,试试这个:
driver.findElementByName("SignIn").click();
其次,试试这个:
public void tap(int index){
List<WebElement> li = driver.findElementByClass("PUT YOUR class name");
li.get(0).click();
}
试试这个,应该可以。
driver.findElement(By.xpath("//android.widget.TextView[@index='0']")).click();
我不知道你运行的是什么版本的 Android,但你能做的是
1) 您可以尝试将内容描述添加到 XML 元素搜索中。
2) 可以按文字搜索,如搜索姓名(“登录”)。
3) 您可以使用 XPath 访问。
我建议设置Appium Ruby Console ,这样你就可以实时测试命令,看看什么最适合你。
在原生 android 自动化中,我做了类似的事情,
onData(anything())
.inRoot(withDecorView(not(is(getActivity().getWindow().getDecorView()))))
.atPosition(0).atPosition(1)
.perform(click()); //this click item in droplist within droplist
或者
onView(findChildof(withId(R.id.parent_id), 3)).check(matches((isDisplayed()))).perform(click()); //this clicks third child
尝试这个:
driver.findElement(By.xpath("//*[@class='android.widget.TextView' and @index='0']")).click();
或者
driver.findElement(By.name("Sign In")).click();
理想情况下,两者都应该工作。
您可以使用类名和文本进行单击。 无需为此构建自定义 xpath。
List<WebElement> elements = driver.findElements(By.className("class"));
For(WebElement element:elements)
{
if(element.geText().equals("textProperty"))
{
element.click();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.