如何使用Python点击窗口中的“下一步”按钮

3
我使用以下代码连接了一个打开的窗口(类类型为SunAwtFrame),确实能够连接到它,但是无法点击其中的“下一步”按钮。我的疑问是,“下一步”按钮可能位于该窗口的框架内部。即使我使用“swapy”工具,也无法浏览控件,实际上也没有显示控件。因此,如果情况是这样的,如何切换到框架并单击“下一步”按钮。
app2 = application.Application()

app2.connect(title_re = u'abc')

dialog = app2.abc

print dialog

next =dialog.Next

print next

next.Click()

当我运行上述代码时,出现了错误,请帮助我解决。
#Error#:-

  <pywinauto.application.WindowSpecification object at 0x025F26F0>
  <pywinauto.application.WindowSpecification object at 0x025FA3B0>
  next.Click()
  File "C:\Python27\lib\site-packages\pywinauto\application.py", line 229, in __getattr__
    ctrls = _resolve_control(self.criteria)
  File "C:\Python27\lib\site-packages\pywinauto\application.py", line 788, in _resolve_contro
l
    raise e.original_exception
pywinauto.findwindows.WindowNotFoundError

嗨。我是 SWAPY 工具的作者。看起来 pywinauto 无法使用您的控件。请告诉我,SWAPY列表中的按钮控件是灰色还是根本不存在? - SWAPYAutomation
@SWAPYAutomation 你好,我在 SWAPY 中也无法看到控件列表(包括“下一步”按钮)...... - kgopi
很遗憾,pywinauto无法访问非标准控件。您可以尝试在特定坐标上单击,或使用替代库。例如Cobra(win LDTP),它也有Python模块。 - SWAPYAutomation
1个回答

2

看起来您一直在尝试使用pywinauto自动化非标准控件。我建议您通过坐标进行点击,当然,如果除了按按钮之外没有其他任务。

dialog.Click(coords=(x, y))

或者

dialog.ClickInput(coords=(x, y))


我目前遇到了这个问题,所以我会尝试您的答案,提前致谢。 - EndermanAPM
@SWAPYAutomation 你知道为什么QWidget窗口上没有触发任何操作吗?这里有一个链接:http://stackoverflow.com/questions/44088772/pywinauto-qwidget-click-trigers-no-action - minghua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接