Based on this info, what automation tools / libraries / scripting languages do you suggest?
-
我有一个C / C#backround
-
我有一个Python的未来
-
我使用Windows,但非常喜欢用于共享目的的多平台解决方案
How would I use those Tool(s), Language(s), or Library(s) to do the following?
-
在最小化的非活动窗口之间传递输入/数据,而不会干扰用户在前台可能正在做的任何事情 .
-
在非活动窗口内搜索/操作相关控件和数据
-
在最小化时与应用程序GUI交互(GUI控件的屏幕坐标未知)
-
执行HTTP请求/自动登录或表单子目录 .
-
执行逻辑
这是我正在尝试解决的一个示例问题:
我有一个程序,我称之为“会员提取器”,通过网络提取我网站的会员联系信息;虽然程序只能通过GUI控制;并且还没有能够导出数据 . (因此,每条信息,如电子邮件,电话号码等,必须自动和系统地1-by-1复制到剪贴板,并粘贴到新的“Microsoft Excel”文档中) . 一旦以有组织的方式复制和保存信息,我需要将该数据导入由“Google Chrome Web浏览器”的“Universal Contact Manager”扩展程序生成的多个新“联系人配置文件” . excel文档中数据的排序不确定;所以需要对某些列搜索列 Headers 的单元格位置以及某些逻辑进行搜索 .
1 回答
一种方法是使用
WScript.Shell
对象 . 您可以通过使用WshShell.Run
运行程序来自动执行复制和粘贴,然后使用WshShell.SendKeys
编写GUI脚本,这样您就可以通过键盘发送通常可以使用的任何组合键 . 因此,您可以编写可以使用键盘的任何应用程序的脚本 . 另一个好消息是,您可以将Windows Scripting引擎与任何具有OLE接口(包括Python)的语言一起使用 . 这是一个(未经测试的)示例:尝试将此代码复制到* .py文件中,并像运行任何其他Python代码一样运行它 . 您将需要
win32api
包,默认情况下使用Active Python(ActiveState的Python发行版) . 你可以在这里找到:http://www.activestate.com/activepython(它's free and open-source), you' d想要版本2.7 .您还可以使用OLE接口来创建和操作Excel电子表格 . Python和OLE的一般讨论可以在这里找到:How do I script an OLE component using Python?
这里有一些可能有用的链接:
http://code.activestate.com/recipes/65108-various-windows-script-host-wsh-examples-converted/
http://technet.microsoft.com/en-us/library/ee156603.aspx
http://en.wikipedia.org/wiki/OLE_Automation
http://www.python-excel.org
P.S. 至少对于第一部分来说,长期可能更容易,并且修改应用程序以转储数据肯定不会那么脆弱(如果这是最好的选择) .