2013-03-25 88 views
2

我用下面的代碼來連接一個打開的窗口(類型是SunAwtFrame),的確能夠連接到它。 但無法點擊它的下一個按鈕,我的疑問是'下一步'按鈕可能駐留在該窗口的框架內。即使我使用'swapy'工具,我也無法瀏覽控件,實際上並未顯示控件。 因此,如果是這種情況,如何切換到幀,然後單擊「下一步」按鈕。如何點擊一個窗口的'下一步'按鈕使用python

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 
+0

您好。我是SWAPY工具的作者。似乎pywinauto無法與您的控件一起使用。請告訴我,SWAPY列表中的按鈕控件是灰色還是根本不存在? – SWAPYAutomation 2013-03-25 12:56:13

+0

@SWAPYAutomation嗨,從SWAPY我也無法看到控制列表(所有控件包括'下一個'按鈕)..... – kgopi 2013-03-25 13:33:23

+0

不幸的是,pywinauto無法訪問非標準控件。您可以嘗試點擊特定的座標,或使用備選庫。例如Cobra(win LDTP),它也有python模塊。 – SWAPYAutomation 2013-03-25 19:53:00

回答

2

好像你一直在試圖通過pywinauto自動化非標控制。我建議你通過座標進行點擊,當然如果除按下按鈕之外沒有其他任務。

dialog.Click(COORDS =(X,Y))

dialog.ClickInput(COORDS =(X,Y))

+0

我目前有[這個問題](http://stackoverflow.com/questions/41675746/windows-gui-automation-on-legacy-app)所以我會嘗試你的答案,在此先感謝。 – EndermanAPM 2017-01-16 12:23:29

+0

@SWAPYAutomation你知道爲什麼在QWidget窗口中沒有觸發動作嗎?這裏http://stackoverflow.com/questions/44088772/pywinauto-qwidget-click-trigers-no-action – minghua 2017-05-20 17:18:16

相關問題