2016-03-16 81 views
0

這段代碼從InstallShield獲取第一個窗口。PyWinAuto麻煩點擊下一步按鈕

from pywinauto import application 
from pywinauto import findwindows 

app = application.Application() 

app.start("MyInstallShieldApp.exe") 

time.sleep(15) 

hwnd = findwindows.find_windows(title=u"InstallShield Wizard", class_name="MsiDialogCloseClass") 
print ("|", str(hwnd), "|") 
dlg = app.Window_(handle=hwnd).Wait("enabled", timeout=25, retry_interval=0.5) 

現在我想單擊下一步按鈕。 Swapy說Next按鈕的文本'& Next>',按鈕數字是1.但是這些點擊語句都沒有任何效果。

dlg.Click("Next") 

dlg.Click(coords=(977, 711)) 

dlg.Click(button="left") 
+0

也許這線程將作爲一個例子有用:HTTP:/ /stackoverflow.com/questions/32846550/python-control-window-with-pywinauto-while-the-window-is-minimized-or-hidden –

+0

您是否嘗試過使用SWAPY生成'Click()'代碼?它可以通過樹中按鈕元素的彈出菜單完成。 –

+0

有關屬性訪問的更多有用線程:https://github.com/pywinauto/pywinauto/issues/120 –

回答

0

你誤用Click方法。它有下一個信號 - Click(button=u'left', pressed=u'', coords=(0, 0), double=False, absolute=False)

要點擊一個按鈕,應該在按鈕對象上執行click。所以你應該首先導航到按鈕。

在你的情況下,代碼可能看起來是這樣的: dlg['&Next >'].Click()

再次,請不要猜測,閱讀docs,看到了examples