gpt4 book ai didi

python - 单击没有 DefaultAction 的 IAccessible(MSAA) 元素

转载 作者:行者123 更新时间:2023-11-28 19:24:41 24 4
gpt4 key购买 nike

我一直在尝试使用 pyMSAA 在 python 上使用 MSAA 创建自动化测试

当按钮没有 DefaultAction 时我遇到了问题

b.accDoDefaultAction()

Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "msaa.py", line 215, in accDoDefaultAction
self.IAccessible._IAccessible__com_accDoDefaultAction(objChildId)
_ctypes.COMError: (-2147352573, 'Member not found.', (None, None, None, 0, None)
)

我发现没有DefaultAction是正常的。

有什么方法可以点击(双击)这些元素吗?发送一些事件等...我正在考虑按坐标单击,但这可能不是一个好主意。

谢谢

最佳答案

发送鼠标点击绝对是可能的(使用 SendInput 或 Python 等价物)。您首先要做的是验证您的可点击点是否确实指向您要点击的对象(即,可点击点可能被另一个窗口/控件遮挡)。

您可以使用 AccessibleObjectFromPoint (这似乎被 pyMSAA 中的 msaa.point 包装)以检查该点下的可访问对象实际上是否与您尝试单击的对象相同。

现在您可以检查 accLocation 中的各个点以找到您的可点击点。最佳初始点是中心;如果失败,请在 x 和 y 方向上尝试在宽度(或高度,视情况而定)的 1/3、1/2、2/3 处点。

关于python - 单击没有 DefaultAction 的 IAccessible(MSAA) 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16099513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com