Конечно у каждого свой путь и вариантов тьма. Подробно расписывать не буду.
AutoHotKey я не знаю, поэтому про него умолчу. Autoit очень мощный язык, думаю, что он все это сможет сделать легко, причем разными путями. Работа через буфер обмена - плохой метод. Фу. Нахождение полей формы на странице IE, заполнение и тыкание по кнопкам тоже мне кажется не правильно.
Я в последнее время все больше пользую JScript. Один из вариантов такой:
Выковыривание данных из xls:
objExcel = new ActiveXObject ("Excel.Application");
objWorkbook = objExcel.Workbooks.Open ("c:\\test.xls");
message = "";
for (i = 1; i < 14; i++) {
message += objExcel.Cells(1, i).Value + "\r\n\t\t" + objExcel.Cells(2, i).Value + "\r\n"
}
objExcel.Quit();
WScript.Echo(message)
В основном авторизация на сайтах и отправка заполненных форм - GET и POST запросы. Формирование которых возможно на голом JScript, но я давно не практиковал. По неизвестной мне причине, люблю я костыли, поэтому я всегда использую wget или cURL.
Все просто. Берем для примера этот форум. (надеюсь админы не наругают 8)
Авторизация на форуме и сохранение cookie в файл cookies.txt. Для проверки сохранение страницы информации о пользователе в page.htm
var WshShell = WScript.CreateObject("WScript.Shell");
user = "login";
pass = "qwerty";
urlAutorization = "http://forum.script-coding.com/login.php?action=in"
dataPOST = "form_sent=1&redirect_url=index.php&req_username=" + user + "&req_password=" + pass + "&login=%C7%E0%E9%F2%E8";
WshShell.Run('wget -c ' + urlAutorization + ' --save-cookies=c:\\cookies.txt --keep-session-cookies -O nul --post-data "'+ dataPOST +'"', 0, true);
WshShell.Run('wget -c http://forum.script-coding.com/profile.php?id=26282 --load-cookies=c:\\cookies.txt -O page.htm', 0, true);
Вот код, который меняет в профиле пользователя его jabber.
URL = "http://forum.script-coding.com/profile.php?section=messaging&id=26282";
jabber = "www@gmail.com"
dataString = 'form_sent=1&form%5Bjabber%5D=' + jabber + '&form%5Bicq%5D=&form%5Bmsn%5D=&form%5Baim%5D=&form%5Byahoo%5D=&update=%CE%F2%EF%F0%E0%E2%E8%F2%FC';
WshShell.Run('wget -c ' + URL + ' --load-cookies=c:\\cookies.txt -O nul --post-data "'+ dataString +'"', 0, true);
Посмотреть на ваши запросы можно используя сниффер или встроенные средства браузера. В firefox например есть веб-консоль.
Это конечно же лишь один из вариантов.
Нас невозможно сбить с пути, нам пофигу куда идти.