根据这些信息,您建议使用哪些自动化工具/库/脚本语言?
我如何使用这些工具,语言或图书馆执行以下操作?
在最小化的非活动窗口之间传递输入/数据,而不会干扰用户在前台可能正在做的任何事情。
在非活动窗口内搜索/操作相关控件和数据
在最小化的情况下与应用程序GUI交互(GUI控件的屏幕坐标未知)
执行HTTP请求/自动登录或表单子目录。
执行逻辑
我有一个程序,我称之为“ 会员提取器 ” 网站的会员通过网络联系信息;虽然程序只能是 通过GUI控制;并且没有能力导出 数据呢。 (所以每一条信息,如电子邮件,电话号码等。 必须自动且系统地将1-by-1复制到剪贴板,并粘贴到新的 “Microsoft Excel” 文档)。
一旦以有组织的方式复制和保存信息,我需要 将该数据导入多个新的“联系人配置文件” 由“ 通用联系人管理器 ”扩展生成的 “Google Chrome网络浏览器。” excel文档中数据的排序不确定;所以需要对某些列搜索列标题的单元格位置以及某些逻辑进行搜索。
答案 0 :(得分:1)
执行此操作的一种方法是使用WScript.Shell
对象。您可以通过使用WshShell.Run
运行程序来自动执行复制和粘贴,然后使用WshShell.SendKeys
编写GUI脚本,这样您就可以使用键盘发送通常可以使用的任何组合键。因此,您可以编写可以使用键盘的任何应用程序的脚本。另一个好消息是,您可以将Windows Scripting引擎与任何具有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的一般性讨论:How do I script an OLE component using Python?
这里有一些可能有用的链接:
P.S。至少在第一部分中,它可能更容易长期,并且修改应用程序以转储数据肯定不会那么脆弱(如果这是一个选项)。但是如果这是最好的选择,OLE自动化应该可以工作。