问候和称呼!
我正在为Windows桌面应用程序(FrameworkId:Win32)进行UI自动化项目。 堆栈:Python(3.7)+ Appium(1.15.1)+ WinAppDriver(v1.1)。
我已经使用Inspect.exe标识了一个元素,但是当我尝试编码时,无论如何我都会收到此错误: selenium.common.exceptions.NoSuchElementException:消息:使用给定的搜索参数无法在页面上找到元素。
我正在使用的定位器策略是xpath:
self.driver.find_element_by_xpath("//*[@LocalizedControlType='text' and @IsControlElement='false']")
如您所见,Inspect.exe已经显示它具有属性“ IsControlElement='false'
”,但是我一生无法通过代码“访问”它。
我还要指出,找到具有IsControlElement='true'
的任何元素都是正确的,我可以与它们“进行交互”。
非常感谢您的帮助!
答案 0 :(得分:0)
这可能是 在Microsoft .NET中的UI自动化实现中的一个问题。
属性IsControlElement
应该返回了true
,而没有返回。
根据我的测试,这似乎是UIAutomationCore.dll
中某个地方的问题。
我推测,根本原因是自动化实现的目标是考虑可访问性,并且他们错误地忽略了一些不可读的控件({{1 }},Image
等。
Geometry
项目中-使用WPF
代替Label
TextBlock
项目中,您可以使用WPF
作为包装器。 由于您尚未指定使用which Python GUI library,因此我无法为您的图书馆提供示例。抱歉。