我正在尝试向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'或这些单词的任意组合来引用插件容器窗口。我已经尝试将一个title变量添加到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版,并且比任何版本更改更喜欢它。
任何帮助都表示赞赏。我很遗憾这一切。
答案 0 :(得分:4)
作为pywinauto的作者 - 我想你会遇到困难。 pywinauto只对标准的Windows控件有帮助,我不认为flash控件是作为标准的Windows控件(按钮,编辑框等)实现的。
首先,我认为Sikuli可能是一个更好的起点(http://sikuli.org/)。 另一个选项可能是'http://code.google.com/p/flash-selenium/' - 我只是用Google搜索“自动输入Flash” - 它出现在我点击的第一篇文章中。
感谢您尝试使用pywinauto - 我认为它不适合Flash自动化。