【问题标题】:WinAppDriver Appium not finding element visible through inspect.exeWinAppDriver Appium 找不到通过 inspect.exe 可见的元素
【发布时间】:2020-08-11 05:52:57
【问题描述】:

我正在使用早在 2005 年之前使用 Visual Basic 构建的 gui 在 WinForms 应用程序上进行编程。我经常会在 inspect.exe 上看到一些元素,但是当我运行 WinAppDriver 和 Appium 时,它无法检测到这些元素。

这是我得到的错误。

OpenQA.Selenium.WebDriverException: '使用给定的搜索参数无法在页面上找到一个元素。'

即使我的应用程序是唯一最大化的应用程序,也会发生该错误。当我单击一个按钮并启动另一个表单时会发生这种情况。为了确保不是因为元素尚未出现,我运行了命令 Thread.Sleep(5000) 以确保启动的表单有足够的时间出现。

这是试图点击元素的代码行。

driver.FindElementByAccessibilityId("vlblYVar").Click(); 

这是一张图片,显示 inspect.exe 清楚地找到了元素。任何指导将不胜感激!

【问题讨论】:

    标签: vb.net selenium appium ui-automation winappdriver


    【解决方案1】:

    事实证明,即使inspect.exe 立即将其识别出来,弹出窗口中的元素也需要很长时间才能被winappdriver 识别。

    我不得不使用

    var element = desktopWait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.VisibilityOfAllElementsLocatedBy(ByWindowsAutomation.AccessibilityId("vlblYVar")));
    desktop.FindElementByAccessibilityId("vlblYVar").Click(); 
    

    我还必须使用加载桌面 UI 的驱动程序,因为使用我的程序的驱动程序从未找到会导致超时的元素。

    我有一个新问题。当我有一个组合框时,该组合框中的元素是通过名称与 inspect.exe 找到的,但 winAppDriver 永远无法识别组合框中的元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-07
      • 1970-01-01
      • 2020-02-13
      • 2018-08-28
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      • 2019-09-24
      相关资源
      最近更新 更多