我试图玩Pywinauto,我有一个基本的程序,只需启动一个程序,然后点击它,看起来像这样:
from pywinauto import application
app = application.Application()
app.Start_("//PathToGChrome/Google Chrome.exe")
# Google Chrome Starts
app.Google_Chrome.ClickInput(coords=(0,0))
# Returns error:
Could not find 'Google_Chrome` in `dict_keys([])`
但如果我喜欢
app.Start_('Notepad.exe')
# Notepad Starts
app.Notepad.ClickInput(coords=(0,0))
# Foregrounds notepad and clicks in the top left
为什么无法找到Google Chrome?是因为名字中有空格吗?我如何知道Google Chrome的正确名称?
答案 0 :(得分:1)
对于窗口标题,内部搜索pywinauto似乎失败了,因为Chrome的窗口进程ID与Chrome的启动器的PID不同。最简单的方法就是使用Swapy帮助应用程序(https://code.google.com/p/swapy/)它有点过时但仍然可以帮助您生成有效的代码。至少从一开始。 启动Chrome后运行Swapy并在列表中找到应用程序标题。右键单击该项目并选择要执行的操作。这是代码示例:
import pywinauto
pwa_app = pywinauto.application.Application()
w_handle = pywinauto.findwindows.find_windows(title=u'New Tab - Google Chrome', class_name='Chrome_WidgetWin_1')[0]
window = pwa_app.window_(handle=w_handle)
window.ClickInput()