Языки, библиотеки или инструменты программного обеспечения для автоматизации / макросов - PullRequest
2 голосов
/ 08 февраля 2012

Исходя из этой информации, какие инструменты автоматизации / библиотеки / языки сценариев вы предлагаете?

  • У меня есть C ++ / C # backround
  • У меня естьбудущее Python
  • Я использую Windows, но очень предпочел бы мультиплатформенное решение для совместного использования

Как бы я использовал эти инструменты, Язык (s) или библиотека (ы) для выполнения следующих действий?

  • Передача ввода / данных между свернутыми неактивными окнами без вмешательства в действия пользователя на переднем плане.

  • Поиск / управление соответствующими элементами управления и данными в неактивном окне

  • Взаимодействие с графическим интерфейсом приложений при его сворачивании (экран элементов управления графического интерфейса)координаты неизвестны)

  • Выполнение HTTP-запросов / автоматический вход в систему или отправка форм.

  • Выполнение логики

Вот пример проблемы, которую я пытаюсь решить:

У меня естьпрограмма, которую я называю « Member Extractor », которая извлекает контактную информацию участника моего сайта через Интернет;хотя программой можно управлять только через графический интерфейс;и еще не имеет возможности экспортировать данные.(поэтому каждый фрагмент информации, такой как электронная почта, номер телефона и т. д., должен автоматически и систематически копироваться в буфер обмена 1 на 1 и вставляться в новый «Microsoft Excel» документ).

После того, как информация скопирована и сохранена организованным способом, мне нужно импортировать эти данные в несколько новых " Профилей контактов ", созданных с помощью " Universal Contact Manager "расширение " Google Chrome Web Browser. " Порядок данных в документе Excel не определен;поэтому необходимо выполнить какой-либо поиск местоположения ячейки заголовка столбца вместе с некоторой логикой.


1 Ответ

1 голос
/ 17 февраля 2012

Один из способов сделать это - использовать объект WScript.Shell.Вы можете автоматизировать копирование и вставку, запустив программы с помощью WshShell.Run, а затем написав сценарий для GUI с помощью WshShell.SendKeys, что позволяет отправлять любые комбинации клавиш, которые вы обычно можете использовать с помощью клавиатуры.Таким образом, вы можете создавать сценарии для любого приложения, которое вы можете использовать на клавиатуре.Другая хорошая новость заключается в том, что вы можете использовать Windows Scripting engine с любым языком, имеющим интерфейс 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 можно найти здесь: Как мне написать скрипт OLE-компонента с использованием Python?

Вот несколько ссылок, которые могут быть полезны:

PS По крайней мере, для первой части, это может быть проще в долгосрочной перспективе и определенно будет менее хрупким, чтобы модифицировать приложение для вывода данных (если это вариант).Но OLE-автоматизация должна работать, если это лучший вариант.

...