【问题标题】:Unable to click button in mobile web in appium无法在appium中单击移动网络中的按钮
【发布时间】:2021-07-14 03:36:46
【问题描述】:

在各种论坛上详尽搜索后,我仍然没有答案。 这是完整的详细信息

我通过指向多个 (4) 按钮的类名来识别元素。我正在遍历按钮,然后搜索文本,当有匹配时我点击它。

这适用于 selenium webdriver 和浏览器,例如 firefox、chrome

现在我正在用 appium 做同样的事情。 在通过类名标识的 4 个按钮中,脚本成功单击了 2 个按钮,但是发生了两个按钮的单击(我可以看到被单击的按钮),但未加载应加载的新页面。没有点击的按钮在页脚类中,另外两个在 div 类中。

我已经尝试过的事情

  1. 操作生成器 - click()、clickandhold()
  2. Javascript 执行器

我目前正在尝试使用触摸选项,点击并切换到本机视图,但没有发现任何成功。

如果有人遇到过同样的情况,我们将不胜感激。

我想避免使用 xPath,因为这可能会在我正在处理的页面中发生变化,并且我想强调脚本能够找到该按钮,但无法正确单击它。

【问题讨论】:

    标签: selenium appium


    【解决方案1】:

    您可以使用类名和索引来过滤您的定位器。像这样:

    driver.findElementsByXPath("//*[@class='android.widget.ImageView' and @index='0']");
    

    此 xpath 在其他设备上也不会发生变化。

    【讨论】:

    • 尝试使用 xpath。问题是按钮被点击,但应该发生的动作没有发生
    【解决方案2】:

    你能看到:Unable to find an element in Browser of the Android emulator using Appium and C# 吗? 如果在浏览器中测试网络应用程序,元素应该像通常的元素一样位于网页上(而不是像 android.widget.EditText 和 android.widget.Button 这样的类)。

    【讨论】:

    • 是的,我也做过同样的事情。我正在通过 xpath、className 等查找元素。问题是单击了按钮,但单击后应该发生的操作没有发生。
    【解决方案3】:

    将 appium java 客户端升级到 1.5.0(从 1.3.0)解决了这个问题。需要检查原因!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-26
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多