Articles of pywinauto

如何使用python单击窗口的“下一步”button

我用下面的代码来连接一个打开的窗口(类types是SunAwtFrame),的确可以连接到它。 但无法点击下一个button,我的疑问是,“下一步”button可能驻留在该窗口的框架内。 即使当我使用“swapy”工具时,我也无法浏览控件,实际上并未显示控件。 所以,如果是这种情况,如何切换到帧,然后点击“下一步”button。 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

pywinauto qwidget click trigers no action

很明显,QWidgetbutton被按下并释放,不幸的是没有动作被触发。 该环境类似于使用pywinauto查找qwidget对象文本 。 代码使用绝对坐标如何使用python单击窗口的“下一个”button 。 一旦程序运行,目标窗口将获得焦点。 光标开始在靠近目标窗口中心的地方。 然后它移动到button,按下button,因为颜色变成了下降的颜色。 然后释放button,光标移回窗口的中心。 只有一件事情没有,从目标窗口应用程序不采取任何行动。 有一个解决方法:如果我将鼠标移动到窗口的标题,并在正确的时间点击,自动点击button将触发一个真实的行动。 这让我感到困惑,为什么会发生这种情况,而无法想出解决scheme。 app1 = Application() app1.connect(title_re='^Quartus Prime Programmer.*$') app1.QWidget.print_control_identifiers() win1 = app1.QWidget rect1 = win1.rectangle() coor1 = (rect1.left+64,rect1.top+350) # 64, 350: "add file" win11 = win1.TopLevelParent() for i in range(3): win11.SetFocus() win11.PressMouseInput(coords=coor1) time.sleep(1.3) win11.ReleaseMouseInput() time.sleep(3.0) 代码重复三次,以便人工干预可以很容易地插入到过程中。