2

我正在尝试向在 Windows 7 上的 Firefox 中运行的 flash 程序发送几个基本文本命令,但我无法让 pywinauto 为我工作。

现在,我刚刚能够通过使用以下代码将其定向到路径来完成连接到 Firefox 插件容器的非常基本的任务:

from pywinauto import application
app = application.Application()
app.connect_(path = r"c:\Program Files (x86)\Mozilla Firefox\plugin-container.exe")

下一步似乎是这样的:

app.plugin-container.Edit.TypeKeys('Text')

但是,我无法使用“.plugin-container”或这些词的任何组合来引用插件容器窗口。我已经尝试向 connect_() 函数添加一个标题变量,并且我已经尝试了我能想到的所有方法来找出如何键入命令。

我基于此的示例是记事本示例:

from pywinauto import application
app.start_(ur"notepad.exe")
app.Notepad.Edit.TypeKeys(u"{END}{ENTER}SendText d\xf6\xe9s "
        u"s\xfcpp\xf4rt \xe0cce\xf1ted characters!!!", with_spaces = True)

如果我使用 pywinauto 或 Firefox,对我来说并不重要。如果使用不同的模块或 Internet Explorer 更容易做到这一点,那么无论完成什么任务,我都会参与其中。我使用的是 Python 2.7.2 版,并且比任何版本更改更喜欢它。

任何帮助都将不胜感激。我迷失在这一切中。

4

1 回答 1

4

作为 pywinauto 的作者 - 我认为您将很难过。pywinauto 仅对标准 Windows 控件有帮助,我不认为 Flash 控件是作为标准 Windows 控件(按钮、编辑框等)实现的。

在我的脑海中 - 我认为 Sikuli 可能是一个更好的起点(http://sikuli.org/)。另一个选项可能是“http://code.google.com/p/flash-selenium/”——我刚刚搜索了“自动闪光输入”——它出现在我点击的第一篇文章中。

感谢您尝试 pywinauto - 我只是不认为它最适合 Flash 自动化。

于 2011-09-09T09:53:04.207 回答