0

我正在尝试使用 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 的正确名称是什么?

4

1 回答 1

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()
于 2015-08-12T01:57:50.700 回答