自动化/宏软件语言、库或工具



根据这些信息,您建议使用哪些自动化工具/库/脚本语言?

  • 我有一个C++/C#背景
  • 我有一个 Python 的未来
  • 我使用Windows,但非常喜欢用于共享目的的多平台解决方案

我将如何使用这些工具、语言或库执行以下操作?

  • 在最小化的非活动窗口之间传递输入/数据,而不会干扰用户在前台可能正在执行的任何操作。

  • 搜索/处理非活动窗口中的相关控件和数据

  • 与应用程序 GUI 交互,同时将其最小化(GUI 控件的屏幕坐标未知(

  • 执行HTTP请求/自动登录或表单提交。

  • 执行逻辑

这是我尝试解决的一个示例问题:

有一个我称之为"成员提取"的程序,它提取我的 网站会员通过网络的联系信息;虽然程序只能 通过其图形用户界面进行控制;并且无法导出 数据尚未。(所以每条信息,如电子邮件、电话#等。 必须自动系统地逐一复制到剪贴板,并粘贴到新的 "Microsoft Excel">文档(。

一旦信息被复制并以有组织的方式保存,我需要 将该数据导入多个新的">联系人配置文件" 由">通用联系人管理器"扩展生成的 "谷歌浏览器网络浏览器。">Excel 文档中数据的顺序不确定;因此,需要对列标题的单元格位置进行某种搜索以及一些逻辑。


一种方法是使用 WScript.Shell 对象。 您可以通过使用 WshShell.Run 运行程序然后使用 GUI 编写脚本来自动复制和粘贴WshShell.SendKeys这允许您发送通常使用键盘的任何组合键。 因此,您可以编写任何可与键盘一起使用的应用程序的脚本。 另一个好消息是,您可以将Windows脚本引擎与任何具有OLE接口的语言一起使用,包括Python。 下面是一个(未经测试的(示例:

import sys
import win32api
import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.Run("notepad " + sys.argv[0])
shell.SendKeys("{Enter}{Enter} You should see the script code in notepad")

尝试将此代码复制到 *.py 文件中,并像运行任何其他 Python 代码一样运行它。你需要win32api包,这是Active Python(ActiveState的Python发行版(默认提供的。 你可以在这里找到这个:http://www.activestate.com/activepython(它是免费和开源的(,你会想要2.7版本。

还可以使用 OLE 界面创建和操作 Excel 电子表格。关于 Python 和 OLE 的一般讨论可以在这里找到:如何使用 Python 编写 OLE 组件的脚本?

这里有一些可能有用的链接:

  • 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

附言至少在第一部分,从长远来看可能会更容易,并且修改应用程序以转储数据肯定不那么脆弱(如果这是一个选项(。 但是,如果这是最佳选择,则 OLE 自动化应该可以工作。

最新更新