2011-09-09 34 views
2

我想将几个基本的文本命令发送到在Windows 7上的Firefox中运行的Flash程序,但我无法让pywinauto为我工作。使用Pywinauto自动化使用Python的Flash程序

现在,我刚才已经能够通过使用下面的代码将其引导到路径来完成连接到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容器”,或这些词的任何组合不引用插件容器的窗口。我曾尝试在connect_()函数中添加一个title变量,并且我尝试了所有我能想到的方法来了解如何键入命令。

的例子中,我立足这一关的是记事本示例:

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

作为pywinauto的作者 - 我想你会很难过。 pywinauto只对标准的windows控件有帮助,我不认为flash控件是作为标准的windows控件(按钮,编辑框等)实现的。

我的头顶 - 我认为Sikuli可能是一个更好的起点(http://sikuli.org/)。 另一种选择可能是'http://code.google.com/p/flash-selenium/' - 我刚刚搜索了“自动化flash输入” - 并在我点击的第一篇文章中出现。

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