Appium WinAppDriver通过Accessibility ID定位元素报错求助
问题解决方法及疑问解答
1. 解决ModuleNotFoundError问题
appium-python-client 2.x版本对AppiumBy的导入路径做了调整,你原来的导入路径是旧版本(1.x)的写法,正确的导入方式应该是:
from appium.webdriver.common.by import AppiumBy # 调用方式保持不变 driver.find_element(AppiumBy.ACCESSIBILITY_ID, "Button1").click()
另外你原来的导入语句from appium.webdriver.common.appiumby import本身不完整,缺少要导入的对象(比如AppiumBy),修正后即可解决模块找不到的问题。
2. 关于AppiumBy.ACCESSIBILITY_ID是否针对Windows UI Automation废弃
该API并没有针对Windows UI Automation废弃。WinAppDriver中,ACCESSIBILITY_ID定位方式对应的就是Inspect.exe里显示的Automation ID,完全可以正常用于Windows应用控件的定位。你找到的源码文件属于旧版分支内容,当前2.x版本的AppiumBy已合并到appium.webdriver.common.by模块中,并非功能废弃。
额外验证建议
如果仍有疑问,可在Python交互环境中测试导入:
from appium.webdriver.common.by import AppiumBy print(AppiumBy.ACCESSIBILITY_ID) # 输出应为 'accessibility id',说明可用
内容的提问来源于stack exchange,提问作者user2913139
相关产品推荐
相关产品推荐

