Appium WinAppDriver 通过辅助功能查找元素

问题描述 投票:0回答:2

使用 Apppium WinAppDriver 自动化我的 Windows 应用程序测试。 一切正常,版本:

  • 硒3.14.0
  • Appium-python-客户端2.0.0

我的问题是我有一些资源无法使用

find_element(By.NAME,"name")
因为名字是空的。我尝试使用可访问性 ID,它应该是 inpsect.exe 提供的自动化 ID。

但是核心 selenium 驱动程序不支持它,我应该使用“appiumby”。 尝试了以下方法:

from appium.webdriver.common.appiumby import
driver.find_element(By=AppiumBy.ACCESSIBILITY_ID,value="Button1").click()

但是出现错误:

ModuleNotFoundError: no module named "appium.webdriver.common.appiumby"

另外,当直接在 python 交互式中测试时,我可以导入“appium.webdriver.common”,但不能导入“appium.webdriver.common.appiumby”。

有什么想法让它发挥作用吗?

还在源代码中发现了这一点: https://github.com/appium/python-client/blob/b70422b67f5254523ed360e1d196df0df04feab4/appium/webdriver/common/appiumby.py 是否仅针对 WINDOWS_UI_AUTOMATION 已弃用?

谢谢,

appium winappdriver
2个回答
0
投票

好的,找到答案了:

from appium import webdriver
driver.find_element_by_accessibility_id("Button1").click()

Button1 值取自定位器的spect.exe Automation id 值。


0
投票

Appium和selenium版本不一致。 Appium-python-client2.7.1对应的selenium版本必须大于4.0,而我的是4.1。

© www.soinside.com 2019 - 2024. All rights reserved.