如何在没有 Content-desc、资源 ID 或文本属性的情况下查找元素 xpath
How to find a element xpath without Content-desc, resource Id or text attributes
使用 Appium,
我想点击下图中的一个(箭头)按钮。但该按钮没有资源 ID、内容描述或文本。那么,有什么方法可以让我们点击按钮。我正在使用 java 语言编写脚本到 运行。提前谢谢你:)
使用查找元素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
使用 Appium,
我想点击下图中的一个(箭头)按钮。但该按钮没有资源 ID、内容描述或文本。那么,有什么方法可以让我们点击按钮。我正在使用 java 语言编写脚本到 运行。提前谢谢你:)
使用查找元素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