当前位置: 首页 > 知识库问答 >
问题:

如何找到没有内容的元素xpath-desc、资源Id或文本属性

葛和志
2023-03-14

使用Appium,

我想点击下图中的一个(箭头)按钮。但该按钮没有resource-id、content-desc或text。那么,有没有什么方法可以让我们点击按钮。我正在使用java语言编写脚本运行。提前致谢:)

共有1个答案

陈知
2023-03-14

使用find elementby.xpath:

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

上面是针对第一个android.widget.button的。

如果页面中有多个android.widget.button,可以尝试更改[1]的顺序。

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();
 类似资料:
  • 问题内容: 我有一个复杂的html结构,其中包含许多表和div ..而且结构可能会更改。如何通过跳过两者之间的元素来查找xpath。例如 : 我必须获取有关“名字”范围的输入元素 例如: 但是..我可以跳过htmls之间的内容并直接访问输入元素吗? 问题答案: 您可以尝试以下Xpath: 说明: 选择元素: 然后在上方元素旁边获取元素: 然后在上面第二步中选择的元素内获取元素:

  • 我必须找出XPath的代码: 使用firebug,XPath是: /html/body/div/div/div[4]/table/tbody/tr/td/table/tbody/tr[2]/td/div/table/tbody/tr/td /table/tbody/tr[5]/td/div/div/form/table/tbody/tr[2]/td[4]/输入 但我如何能有一个更短的XPath?例

  • 但是..我可以跳过HTML,直接访问输入元素吗…好像?

  • 我有一个下面的HTML代码,它指向屏幕上的SVG(图像)元素 我可以在div标记之前找到该元素,但是如果我尝试在SVG中访问该元素,并且它的子chrome无法找到该元素 XPath://div[@class='pie-div ng-star插入']-这在div之前工作得很好,但是如果我试图访问它的子元素SVG和路径,它根本找不到它(尽管代码在屏幕上可见) 我尝试过的Xpath://div[@cla

  • 我通过调用python方法来编写自动化测试的机器人。在python中,我使用xpath在python中找到文本“分支TH1”。这是参考, 这是我的剧本, 这是我想测试的网络代码, 这是当我手动找到xpath时,你会看到我可以手动找到元素“//*[包含(文本(),'分支TH1')]/.../输入/...”作为1of1在红框高亮显示,但它不会在代码行高亮显示(不确定这是否是重点)。 在我运行it之后,

  • 我正在试着检测是否从短信中得到期望响应。所以我需要访问收到的文本的文本视图。我遇到的问题是我无法找到一种方法让驱动程序知道我需要接收的文本而不是发送的文本。 ui选择器的第一个图像显示了发送的文本被突出显示在这里它显示了id、class、package和resourse-id(不在帧内) 在ui选择器的第二个图像中,显示了接收到的文本,这里显示了id、class(超出帧)、package和reso