如何查找没有Content-desc,资源ID或文本属性的元素xpath

时间:2019-12-04 08:33:09

标签: android selenium appium appium-android

使用Appium

我想单击下图中的(箭头)按钮。但是该按钮没有resource-id,content-desc或text。因此,有什么方法可以单击按钮。我正在使用Java语言编写要运行的脚本。预先谢谢您:)

enter image description here

1 个答案:

答案 0 :(得分:1)

使用查找元素By.XPath

//*[@class='android.widget.Button'][1]

上面android.widget.Button的上面。

如果页面中的android.widget.Button不止一个,您可以尝试更改[1]的顺序。

使用 java ,您可以将它们收集在列表中,并创建条件以确保按钮不止一个:

List<MobileElement> buttons = driver.findElements(By.xpath("//*[@class='android.widget.Button']"));

MobileElement nextBtn;
MobileElement backBtn;
if(buttons.size()==1) {
    nextBtn = buttons.get(0);
}else {
    nextBtn = buttons.get(1);
    backBtn = buttons.get(0);
}

//if you want click
nextBtn.click();

注意

不确定如何初始化driver,也可以将MobileElement更改为AndroidElement