【问题标题】:Unable to click on a button due to incorrect position in UI Automatorviewer由于 UI Automatorviewer 中的位置不正确,无法单击按钮
【发布时间】:2017-11-27 17:08:31
【问题描述】:

UI Automator Viewer

每当我使用以下命令点击Ok 按钮时,它点击的位置与指向UI Automator viewer 的位置相同。 (截图)

我需要点击Ok按钮。

Driver.findElement(By.xpath("//android.widget.Button[@text='Ok']")).click();

【问题讨论】:

    标签: android selenium-webdriver appium uiautomatorviewer


    【解决方案1】:

    首先,既然你有resource-id,最靠谱的就是用它来搜索:

    driver.findElementById("confirm_button").click()
    

    如果它仍然点击错误的元素,您可能需要稍等片刻(以便加载弹出窗口)然后执行点击

    【讨论】:

    • 我尝试过使用 findElemenyby,id 但它点击的是勾选图标,而不是确定按钮。
    • 是否涉及动画?即使没有,也有可能在发送点击之前屏幕没有完全绘制。正如他的回答中提到的,在点击之前尝试稍等片刻。
    • 出现弹出窗口后点击发送问题是硒点击Tick图标而不是OK按钮,(您可以在屏幕截图中看到)
    • 正如您在屏幕截图中看到的那样,当我点击 Ok 按钮的布局时,它会在 UI Automator 查看器中的 Tick 图标上突出显示
    • 在单击确定按钮之前运行driver.getPageSource() 并打印出返回您的服务,然后将其附加到您的问题中。它可以加快帮助您的速度。
    【解决方案2】:

    你可以试试:

    Driver.findElement(By.xpath("//*[@class='android.widget.Button and @text='Ok']")).click();
    

    【讨论】:

    • 我已经尝试了所有使用 xpath 和类 id 文本边界等的组合,问题不是它找不到按钮,而是找到按钮但在错误的位置.. 看截图。
    【解决方案3】:

    你试过按坐标点击吗?

    (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();
    

    【讨论】:

    • 能否分享一下Java代码。
    • @user3410383 我的答案已更新,请检查是否有效
    【解决方案4】:

    问题是当我尝试在注册页面上输入数据时,键盘打开,并且由于 UI Automator 屏幕截图给出了错误的按钮位置。所以我所做的是在点击注册按钮之前使用下面的命令隐藏键盘。

    Driver.navigate().back();
    delay(3000);
    Driver.findElement(By.id("btn_register_signup")).click();
    

    【讨论】:

      猜你喜欢
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多