WinAppDriver Appium在 inspect.exe中找不到可见元素。

我正在对一个WinForms应用程序进行编程,该应用程序的gui是在2005年以前使用Visual Basic建立的,我经常会有一些元素在 inspect.exe中可见,但是当我运行WinAppDriver和Appium时,它无法检测到这些元素。我经常会有一些元素在 inspect.exe 中可见,但是当我运行 WinAppDriver 和 Appium 时,它无法检测到这些元素。

这是我得到的错误。

OpenQA.Selenium.WebDriverException: ‘An element could not be located on the page using the given search parameters’.

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

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

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

下面是一张图片,显示 inspect.exe 清楚地找到了元素。任何指导都将是非常感激的!我正在WinForms上编程。

enter image description here

解决方案:

结果发现,弹出的窗口中的元素需要相当长的时间才能被winappdriver识别,即使 inspect.exe马上就能接收到。

我不得不使用

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

另外,我不得不使用一个加载桌面UI的驱动,因为使用我的程序的驱动永远找不到元素,这会导致超时。

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

给TA打赏
共{{data.count}}人
人已打赏
未分类

在Python代码中创建的SchemaDatabase没有出现在MySQL Workbench中MySQL服务器上。

2022-9-13 13:56:40

未分类

如何处理大的原始图片重渲染导致React应用滞后的问题?

2022-9-13 14:07:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索