每当我使用以下命令单击Ok
按钮时,它会单击与指向相同的位置UI Automator viewer
。(截屏)
我需要点击Ok
按钮。
Driver.findElement(By.xpath("//android.widget.Button[@text='Ok']")).click();
每当我使用以下命令单击Ok
按钮时,它会单击与指向相同的位置UI Automator viewer
。(截屏)
我需要点击Ok
按钮。
Driver.findElement(By.xpath("//android.widget.Button[@text='Ok']")).click();
首先,既然你有resource-id
,最可靠的就是用它来搜索:
driver.findElementById("confirm_button").click()
如果它仍然单击错误的元素,您可能需要稍等片刻(以加载弹出窗口),然后执行单击
你能试一下吗 :
Driver.findElement(By.xpath("//*[@class='android.widget.Button and @text='Ok']")).click();
您是否尝试过按坐标单击?
(Python代码)
myElement = driver.find_element_by_id('confirm_button')
x = myElement.location['x']
y = myElement.location['y']
touchAction.tap(None, x, y, 1).perform()
当同时显示多个图层时,我遇到了同样的问题......希望它有所帮助
更新
(Java代码)
WebElement myElement = driver.findElementById("confirm_button");
int x = myElement.getPosition().getX();
int y = myElement.getPosition().getY();
touchAction.tap(x, y).perform();
问题是当我尝试在注册页面上输入数据时,键盘会打开,并且由于 UI Automator 屏幕截图给出了错误的按钮位置。所以我所做的是在点击注册按钮之前使用下面的命令来隐藏键盘。
Driver.navigate().back();
delay(3000);
Driver.findElement(By.id("btn_register_signup")).click();