Берем данные из файла. iMacros.
Ну что же, продолжаем выполнение ТЗ. Мы уже научились давать команду браузеру чтоб он вбивал в поиск запрос и переходил по нему. Но запросов(ключевых слов для плейлиста) будет много. Следовательно их где-то нужно хранить. Попробуем простой вариант. Возьмем наш первый запрос из простого текстового документа. Для этого откроем папку C:\iMacros\Macros\Обучение и создадим там текстовый документ — zapros.txt
Откроем его и внесем первую строку: IMACROS
Сохраним файл
Теперь откроем папку C:\iMacros\Macros и скопируем файл #Current.iim и вставим его в папку C:\iMacros\Macros\Обучение, а затем переименуем его — PL.iim
Заходим в браузер, открываем панель аймакрос, в ней открываем каталог «Обучение» и видим файл «PL.iim»
Нажимаем на нем правую кнопку мыши, выбираем редактировать. Появляется страница с нашим пройденым кодом:
URL GOTO=https://www.youtube.com/?gl=UA&hl=ru TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT=как<SP>потратить TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn
URL GOTO=https://www.youtube.com/?gl=UA&hl=ru TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT=как<SP>потратить TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn |
Доработаем. Вставим перед ним:
‘Подключаем наш файл SET !DATASOURCE C:\iMacros\Macros\Обучение\zapros.txt ‘берем данные из первой строки ADD !EXTRACT {{!COL1}}
‘Подключаем наш файл SET !DATASOURCE C:\iMacros\Macros\Обучение\zapros.txt ‘берем данные из первой строки ADD !EXTRACT {{!COL1}} |
Теперь чтоб использовать эти данные достаточно подставлять эту переменную в код. То-есть нужно вписать ее в том месте, где она будет заноситься в поисковую строку:
в итоге изменим строку №6 нашего кода, после CONTENT= впишем нашу переменную:
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT={{!COL1}}
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT={{!COL1}} |
весь скрипт выглядит так:
‘Подключаем наш файл SET !DATASOURCE C:\iMacros\Macros\Обучение\zapros.txt ‘берем данные из первой строки ADD !EXTRACT {{!COL1}} URL GOTO=https://www.youtube.com/?gl=UA&hl=ru TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT={{!COL1}} TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn
‘Подключаем наш файл SET !DATASOURCE C:\iMacros\Macros\Обучение\zapros.txt ‘берем данные из первой строки ADD !EXTRACT {{!COL1}} URL GOTO=https://www.youtube.com/?gl=UA&hl=ru TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT={{!COL1}} TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn |
нажимаем внизу кнопку «сэйф и клозе» и запускаем этот скрипт
Видим что наш браузер переходит на ютуб, вбивает в поиск запрос IMACROS и выполняет поиск.
Поздравляю! Если это у вас вышло, то вы прошли уже треть пути. Дальше будет самое интересное!
Перейти к следующему уроку!
Поделиться ссылкой:
sistem.in.ua
Работа с JavaScript в iMacroc.
Пришло время научиться связывать наши отдельные задания в полноценную программу. Тут уже приходит на помощь JavaScript. Отныне мы будем работать только в текстовом файле с расширением .js И код в нем пишется немного по другому:
var per = 1
Мы создали переменную «per» и записали в нее значение — цифру 1
Записывать в нее можно все что угодно, только нужно понимать что цифры отличаются от строк. Если записывать строку ее нужно взять в кавычки
var per = ‘Наша первая строка’
можно использовать как двойные кавычки, так и одинарные. Чтоб пока не заморачиваться, договоримся использовать только одинарные.
Теперь для того чтоб использовать строку ‘Наша первая строка’, достаточно просто вызвать в любом месте кода переменную per. Это как бы коробочка в которую что-то ложите и достаете когда вам нужно.
В такую коробочку можно положить и кусок кода, который написан на языке iMacros. Потом когда мы будем вызывать эту переменную, наш браузер будет выполнять весь код iMacros, который в ней записан. Чтоб это все совершить, вам нужно зайти в нашу папку C:\iMacros\Macros\Обучение и создать там текстовый документ с расширением .js
По умолчанию в Windows закрыт доступ к расширению файла, поэтому у вас могут возникнуть небольшие проблемы. Но они легко решаемы, например вот WINDOWS 7: КАК ПОКАЗАТЬ РАСШИРЕНИЯ ФАЙЛОВ
Назовем наш новый документ «Работа с плейлистами.js»
Теперь вам нужно перезагрузить ваш браузер и в каталоге Обучение появится новый файл «Работа с плейлистами.js» Правой кнопкой на нем\редактировать:
Всплыло окно, в котором мы должны писать уже на языке JavaScript. Он немного отличается от языка Imacros. Например комментарии уже нужно писать после двойного слеша(//), а не после одинарной ковычки(‘) как в аймакросе.
Перепишем всю нашу разработку в JavaScript код:
var macro; // создаем переменную macro macro = «CODE:»; // говорим нашему скрипту что в нее впишем код аймакрос macro += «SET !DATASOURCE C:\\iMacros\\Macros\\Обучение\\zapros.txt» + «\n»; // вписываем код аймакрос в переменную macro macro += «ADD !EXTRACT {{!COL1}} » + «\n»; // добавляем код аймакрос в переменную macro macro += «URL GOTO=https://www.youtube.com/?gl=UA&hl=ru» + «\n»; // добавляем код аймакрос в переменную macro macro += «TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT={{!COL1}}» + «\n»; // добавляем код аймакрос в переменную macro macro += «TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn» + «\n»; // добавляем код аймакрос в переменную macro iimPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали. iimPlay(macro) // опять вызываем переменную запуская тем самым код, который туда вписали.var macro; // создаем переменную macro macro = «CODE:»; // говорим нашему скрипту что в нее впишем код аймакрос macro += «SET !DATASOURCE C:\\iMacros\\Macros\\Обучение\\zapros.txt» + «\n»; // вписываем код аймакрос в переменную macro macro += «ADD !EXTRACT {{!COL1}} » + «\n»; // добавляем код аймакрос в переменную macro macro += «URL GOTO=https://www.youtube.com/?gl=UA&hl=ru» + «\n»; // добавляем код аймакрос в переменную macro macro += «TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT={{!COL1}}» + «\n»; // добавляем код аймакрос в переменную macro macro += «TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn» + «\n»; // добавляем код аймакрос в переменную macro iimPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали. iimPlay(macro) // опять вызываем переменную запуская тем самым код, который туда вписали. |
Нажимайте сейф&клозе и запускайте наш скрипт «Работа с плейлистами.js»
Давайте разберем все построчно:
Первые две строки стандартные, их нужно писать всегда так, только переменная может быть другая. Мы объявили переменную в которую будем «впихивать» код аймакрос построчно. того чтоб начать новую строку аймакроса нужно использовать такой способ:
для того чтоб закончить строку и перейти на новую нужно исользовать в конце строки
сама строка аймакроса берется в двойные кавычки.
Обратите внимание что в строке 3 в пути к файлу
C:\\iMacros\\Macros\\Обучение\\zapros.txt
C:\\iMacros\\Macros\\Обучение\\zapros.txt |
мы используем уже двойной обратный слеш. Не будем вдаваться в подробности, это просто такая особенность, которую пока достаточно помнить.
Ну и последние две строки:
обозначают вызов переменной
в которой записан код аймакрос. Чтоб этот код воспроизводился, вызов пишется именно в таком виде. И это довольно удобно. Программа раз вобрала в себя код который нужно выполнять, и потом выполняет его сколько угодно раз. В нашем случае два раза.
Но что делать если выполнений нужно, скажем, 100 000? Ну а для этого милости прошу, продвигаемся дальше.
Перейти к следующему уроку!
Поделиться ссылкой:
sistem.in.ua
Урок по работе с imacros и JavaScript .
Теперь при запуске нашего браузера в правом верхнем углу появится кнопка аймакроса. При нажалити на которую, слева появляется рабочая панель.
Теперь нужно настроить нашу среду разработки для комфортной работы.
Для этого отключим обновления расширения Imakros. Заходим на меню Pale moon/Дополнения/Imacros/Подробнее
И переставляем галочку «Автоматическое обновление» в позицию «отключено»
Теперь нужно настроить файловые пути. Для этого зайдите найдите на своем компьютере папку Документы. В ней нужно найти папку Imacros Эту папку создало наше расширение автоматически. В ней буду находится наши скрипты. Но в этом месте с ней работать не удобно, поэтому нужно скопировать ее на диск С (вместе с вложенными в нее подпапками)
Кроме этого нужно сообщить расширению Imacros что мы будем использовать новые пути. Для этого зайдем в рабочей панели аймакроса во вкладку Manage, там кнопка Опции. Во всплывающем окне нужно заменить пути на более короткие:
Папка макросов: C:\iMacros\Macros
Папка данных: C:\iMacros\Datasources
Папка закачек: C:\iMacros\Downloads
Как на скрине:
Соответственно, чтоб все сохранилось, нажимаем Apply внизу окна и закрываем окно на крестик.
Теперь, для проверки заходим в Компьютер, C:\iMacros\Macros и создадим папку «Обучение» . При перезагрузке нашего браузера и открытии панели аймакроса эта папка у нас появится в списке каталогов.
То-есть нам теперь будут видны все каталоги которые будут храниться в нашей папке Macros по пути: C:\iMacros\Macros
Кроме папок мы можем создавать и два вида файлов, которые будут видны. Это простые текстовые файлы с расширением .iim и .js
Эти файлы и есть наши программы. На двух разных языках. Один язык Imakros(расширение .iim), второй — JavaScript (расширение .js).
Видео инструкция:
Перейти к следующему уроку!
Поделиться ссылкой:
sistem.in.ua
Облегчаем работу с JavaScript. Выводим данные на монитор.
Пришло время облегчить написание кода.
Во-первых, тот редактор для кода, который дает нам аймакрос по умолчанию не удобен. Я рекомендую установить Notepad++
После установки нужно указать аймакросу что бы он открывал наш нотепад вместо редактора по умолчанию.
Для этого зайдем во вкладку Manage, откроем опции, поставим галочку «Использовать внешний редактор» и нажмем на маленькую папочку напротив него, чтоб найти файл запуска устаноленного нотепада «notepad++.exe»
у меня путь такой
C:\Program Files (x86)\Notepad++\notepad++.exe
(можете просто скопировать путь, скорее всего и у вас будет такой же)
Затем нажимаем кнопку Apply внизу странички.
Теперь при нажатии при редактировании наших скриптов будет открываться удобный текстовый редактор нотепад++
Еще советую использовать такой ход. При разаработке очередного скрипта, создавайте отдельный файлик. В нем отрабатывайте, экспериментируйте, а потом переносите в основной код. Что мы сейчас и сделаем. Открываем папку C:\iMacros\Macros\Обучение и создаем там файл «тренировочный.js» Сразу он не появится у нас в каталоге на панели аймакроса. Нужно закрыть на крестик панель, потом заново открыть аймакрос по кнопке. Или перезагрузить браузер.
После нажимайте правой кнопкой на «тренировочный.js» и выбирайте «редактировать»
Всплывает пустой текстовый документ в нотепаде. Отлично. Пришло время познакомиться с парочкой очень важных команд.
Возможно вы заметили, что во время выполнения нашего скрипта, мы не совсем понимаем что происходит. А именно, что содоржит переменная, какую по счету строку мы выбрали из файла, и так далее. Желательно всю информацию выводить на монитор, это облегчит тестирование. Для этого в аймакросе доступна команда
iimDisplay(«Этот текст мы увидим на мониторе»)
iimDisplay(«Этот текст мы увидим на мониторе») |
Если вы скопируете строку в наш тренировочный файл и сохраните ее, то при запуске скрипта вы увидите следующее:
Возможно вы увидите кракозябры. Это потому что аймакрос работает с UTF-8 кодировкой, а ваш файлик сохранился скорее всего в другой кодировке. Не беда, откройте еще раз скрипт, в меню нотепада выберите кодировки/преоброзовать в UTF-8 И сохраните файл
Это очень важная команда. Выводить на экран можно значения переменных, и циклов, и еще много чего. При этом аймакрос работает дальше. Но что делать если нам нужно остановить программу и прочитать значение? Для этого я использую такую команду:
alert(«программа не будет работать дальше пока вы не прочитаете сообщение и не нажмете ОК»)
alert(«программа не будет работать дальше пока вы не прочитаете сообщение и не нажмете ОК») |
Можете скопировать эту команду в тренировочный файл и посмотреть результаты.
Ну и теперь вернемся к нашему ТЗ. Предлагаю доработать код таким образом, чтоб на мониторе отобразался счет цикла и запрос, который мы выбрали из файла:
for (i=1;i<=3;i++){//создаем переменную i, цикл будем выполнять 3 раза var macro; // создаем переменную macro macro = «CODE:»; // говорим нашему скрипту что в нее впишем код аймакрос macro += «SET !DATASOURCE C:\\iMacros\\Macros\\Обучение\\zapros.txt» + «\n»; // подключаем текстовый файл macro += «SET !DATASOURCE_LINE «+i+ «\n»;// из какой по счету строки брать данные macro += «ADD !EXTRACT {{!COL1}}» + «\n»; // берем данные в переменную {{!COL1}} iimPlay(macro) // вызываем переменную запуская тем самым код, который в нее вписали. var zapros = iimGetLastExtract(1) iimDisplay(‘строка ‘+ i +’ запрос ‘+ zapros) // macro += «URL GOTO=https://www.youtube.com/?gl=UA&hl=ru» + «\n»; // заходим на ютуб macro += «TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT={{!COL1}}» + «\n»; // вбиваем в поиск данные из переменной macro += «TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn» + «\n»; // нажимаем поиск iimPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали. }
for (i=1;i<=3;i++){//создаем переменную i, цикл будем выполнять 3 раза var macro; // создаем переменную macro macro = «CODE:»; // говорим нашему скрипту что в нее впишем код аймакрос macro += «SET !DATASOURCE C:\\iMacros\\Macros\\Обучение\\zapros.txt» + «\n»; // подключаем текстовый файл macro += «SET !DATASOURCE_LINE «+i+ «\n»;// из какой по счету строки брать данные macro += «ADD !EXTRACT {{!COL1}}» + «\n»; // берем данные в переменную {{!COL1}} iimPlay(macro) // вызываем переменную запуская тем самым код, который в нее вписали. var zapros = iimGetLastExtract(1) iimDisplay(‘строка ‘+ i +’ запрос ‘+ zapros) // macro += «URL GOTO=https://www.youtube.com/?gl=UA&hl=ru» + «\n»; // заходим на ютуб macro += «TAG POS=1 TYPE=INPUT:TEXT FORM=ID:masthead-search ATTR=ID:masthead-search-term CONTENT={{!COL1}}» + «\n»; // вбиваем в поиск данные из переменной macro += «TAG POS=1 TYPE=BUTTON FORM=ID:masthead-search ATTR=ID:search-btn» + «\n»; // нажимаем поиск iimPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали. } |
Весь код остался без изменений кроме 7 ,8 и 9 строк. Строка 8:
var zapros = iimGetLastExtract(1)
var zapros = iimGetLastExtract(1) |
означает что в этом месте мы создаем переменную
в корорую помещаем
Это такая заморочка аймакроса, если есть команда EXTRACT то вытащить ее в джаваскрипт нужно командой iimGetLastExtract(1), если бы EXTRACT-ов было больше, то для обращения к каждому из них нужно изменять порядковый номер в скобочках: iimGetLastExtract(2), и т.д. Мы вернемся к этому более глубже когда будем работать с таблицами. Именно для того чтоб вытащить данные в джаваскрипт, пришлось добавить и 7 строку:
iimPlay(macro) // вызываем переменную запуская тем самым код, который в нее вписали.
iimPlay(macro) // вызываем переменную запуская тем самым код, который в нее вписали. |
Тоесть нужно вызвать работу аймакрос кода, который вытащит данные из файла, затем мы эти данные занесем в переменную zapros, и после этого продолжим добавлять код аймакрос в переменную macro.
строка 9:
iimDisplay(‘строка ‘+ i +’ запрос ‘+ zapros) //
iimDisplay(‘строка ‘+ i +’ запрос ‘+ zapros) // |
выводит на наш зеленый дисплейчик такие знаки: «слово «строка», 3 пробела, значение переменной i, 3 пробела, слово «запрос» , пробел, значение переменной zapros»
Почему так? Как уже говорилось строка в джаваскрипте берется в кавычки. Тоесть то, что в кавычках выводится познаково, включая пробелы. Знаки + обозначачют сцепить элементы. Дальше вы к этому привыкните. А пока запустите наш код, посмотрите как это работает. Затем попробуйте изменть код так, чтоб на дисплее перед словом «запрос» выводилась запятая.
Перейти к следующему уроку!
Поделиться ссылкой:
sistem.in.ua
Чтение из файла и запись в файл на iMacros
Добавляю в копилку к себе в блог строчки кода в виде функции яваскрипт. Очень полезный код, о котором я недавно узнал и, думаю, что он очень пригодится в будущем. Сам пользовался стандартными средствами из аймакрос с работой с файлом как с базой, а вот запись в файл полноценной я не нашел как делать. Теперь же все это сделать можно будет гораздо проще и быстрее. То есть чтение файла в аймакросе осуществлялась построчно, а в новой функции это делается моментально за 1 проход. Там же используется метод разбивки на массивы split. Этот метод мне знаком, так как уже натыкался на него и тестировал. Теперь же можно полноценно будет воспользоваться файлами и методом split.Так же посоветую сайт для более подробного обучения аймакрос как для начинающего, так и сейчас ведется курс для продвинутого пользователя, то есть продвинутый курс аймакрос. К сожалению, когда мне нужна была информация по изучению аймакроса — этого сайта не было и мне приходило собирать все с разных источников. И когда я обнаружил этот сайт, мне стало жаль, что мне он уже не так был нужен как раньше. Сейчас же автор рассказывает о новых функциях, о которых я не знаю и не использую и, по его словам, будут еще много полезных функций — так как, например, запуск exe файлов с аймакросом — то есть даже не как я делал с помощью MacroRecorder’ом, а непосредственно самим аймакросом. А так как мне приходилось выкручиваться другими путями, тут мне приходилось подключать смекалку и логику — и получалось! Сам жду кодов для запуска екзешников. Источник и ссылку на код оставлю в конце статьи — материалы сделаны качественно — не как у меня )) ну да ладно, это моя копилка и инфа в основном для себя и для других.
Код чтения и записи\перезаписи файлов.
function readExt(filename){return imns.FIO.readTextFile(imns.FIO.openNode(filename))}//ЧТЕНИЕ ФАЙЛА
function writeExt(filename, cont){imns.FIO.writeTextFile(imns.FIO.openNode(filename),cont)}//ПЕРЕЗАПИСЬ ФАЙЛА
function appendExt(filename,cont){imns.FIO.appendTextFile(imns.FIO.openNode(filename),cont)}//ДОБАВЛЕНИЕ В КОНЕЦ
В выше указанном коде указаны 3 функции. Их можно объявлять в самом начале любого скрипта, где вы планируете использовать файлы. А ниже по абазацам указаны примеры — их нужно тестировать по-отдельности.
var test = readExt(‘D:\\text.txt’)// поместим в переменную test данные из файла text.txt
var arrData = test.split(‘\n’) // создаем массив (разделяем по переносу строк)
for(i=0;i<arrData.length;i++){ // создаем цикл по количеству строк в массиве
alert(‘логин: ‘+ arrData[i].split(‘:’)[0]+’ пароль: ‘+ arrData[i].split(‘:’)[1]+’ эмейл: ‘ +arrData[i].split(‘:’)[2])// выведем на дисплейчик переменную
}
for(cont=1;cont<=3;cont++){ // создаем цикл
var cont1=cont+’\n’// добавляем перенос строки, чтоб не писало все в одну строку
appendExt(‘C:\\text.txt’,cont1)// записываем переменную цикла в файл
alert(readExt(‘C:\\text.txt’))//выводим переменную на экран
Источник на сайт — он же и форум: http://sistem.in.ua/forum_sistema_imacros/?view=thread&id=22
delalsam.blogspot.com
Как самому записывать скрипт на iMacros » Miped.ru
Всем привет, в этой статьи речь пойдет о плагине iMacros для браузер FireFox и так же он есть для Google Chrome. Это нужно в первую очередь для того, чтобы автоматизировать наши действия в браузере, а не выполнять их самому, например: если вам нужно повторять одно и тоже действие много раз, а вы хотите уйти, то это вас спасет — при этом настроить его очень легко!
Так же рассказать вам как можно записывать макросы на iMacros для того чтобы не качать чужие или не рабочие макросы. Или же сделать макрос под себя.
Для примера запишем макрос для сайта addmefast.com (На этом сайте можно накручивать лайки, репосты и подписчиков в социальных сетях или же на Youtube)
1) Нам пригодится Mozilla Firefox.
2) После установки Firefox, загружаем сам плагин iMacros
3) Теперь кликаем сюда:
4)Потом переходим во вкладку Запись и кликаем Record options
5) Ставим галочку Use X/Y position и нажимаем OK
6) После выполнения всех этих действий мы переходим на наш сайт addmefast и начинаем запись. (И да кстати мы там должны быть зарегистрированы. Советую сразу зайти на Gmail или facebook, можно и в twitter)
Кстати перед началом записи советую закрыть все лишние вкладки и оставить только нужную нам вкладку, и нужно открыть Firefox полном экране.
7) Теперь мы должны нажимать именно те позиции экрана которые программ должна запомнить и выполнить.
Например, попробуем сделать скрипт для YouTube Subscribe (мы должны быть зарегистрированы на ютуб)
8) После того как нажали на кнопку запись, нажимаем Youtube Subscribe и Subscribe
Подписываемся на канал и закрываем вкладку.
По завершении всех наших действий мы нажимаем Стоп
8) После нажатия стоп должен создаться файл с названием #Current.iim
9) Нажимаем правой кнопкой на файл #Current.iim и нажимаем редактировать.
У вас должно получиться что то вроде этого
10) Теперь нам нужно вставить между каждым кликом WAIT SECONDS=N, то есть скрипт перед каждым нажатием на кнопку будет ждать N сек.
11) Перед TAB CLOSE и после TAB CLOSE лучше поставить как можно больше времени чтобы поинты засчитывались.
12) Теперь нажимаем Save & Close. Выбираем #Current.iim
Воспр., и ставим Повторить макрос на количество раз сколько нам нужно чтобы программа повторила, я введу 99999 и нажимаем Воспр.(Цикл)
У нас скрипт должен выполнить 99999 раз все те действия которые мы сделали, но иногда на сайте появляется такая ошибка, которую нужно в ручную закрыть и запустить скрипт заного.
Еще, для удобства, можете отключить звук в FireFox
Так можно делать не только с этим сайтом, но и с любым другим, я лишь показал на примере сайта addmefast.com
miped.ru
Imacros. Скрипт web-паука | Блог Сэмма
В данной статье хочу рассказать о том, как в скриптах Imacros происходит чтение из внешнего файла.
Для примера будет использоваться простой скрипт web-паука. Все его действия такие – скрипт ходит по сайтам, после перехода на сайт он останавливается и ждет действий от пользователя.
После нажатия пользователем соответствующей кнопки он продолжит свою работу. В данном случае сам код остается неизменным, а текстовой файл с данными можно будет в дальнейшем корректировать – менять урл сайтов на другие.
Данный скрипт также можно использовать как заготовку при написании постера по форумам или комментариев на сайтах.
VERSION BUILD=8890130 RECORDER=FX 'В следующих двух строках отключаем контроль ошибок SET !ERRORIGNORE YES SET !ERRORCONTINUE YES TAB T=1 'Подключаем файл с нужными нам адресами CMDLINE !DATASOURCE url.txt 'Количество полей в файле 10 SET !DATASOURCE_COLUMNS 10 'следующий код указывает с какой строки файла начнется выборка SET !LOOP 1 'При увеличении LOOP будет осуществляться выборка со следующей строки SET !DATASOURCE_LINE {{!LOOP}} 'Следующий код - команда выборки из 1 строки URL GOTO={{!COL1}} 'Пауза - ожидание действий пользователя Pause 'Следующий код - команда выборки из 2 строки URL GOTO={{!COL2}} Pause URL GOTO={{!COL3}} Pause URL GOTO={{!COL4}} Pause URL GOTO={{!COL5}} Pause URL GOTO={{!COL6}} Pause URL GOTO={{!COL7}} Pause URL GOTO={{!COL8}} Pause URL GOTO={{!COL9}} Pause URL GOTO={{!COL10}}
Так же отключение контроля ошибок в строке 2 и 3 позволит нам избежать остановки скрипта в случае, если сам URL адрес будет недоступен, тогда скрипт после ожидания перейдет в паузу.
Формат файла – url.txt очень простой. В каждой строке по одному адресу.
Поле каждого адреса ставится запятая, за исключением последнего URL в списке. В данном случае запятая дает понять понять скрипту о конце строки, служит разделителем.
Если вы по каким-то причинам хотите использовать другой разделитель, например вам нужно использовать текст с запятой, то в качестве разделителя вы можете принудительно указать например точку с запятой следующей командой.
SET !DATASOURCE_DELIMITER ;
Есть еще один способ использовать внутри поля разделитель – заключить его в двойные кавычки.
Если вы пользователь Windows, то такой файл следует писать в текстовом редакторе Notepad++ в кодировке UTF-8 и сохранять в формате без BOOM.
Только тогда вы сможет быть уверены в корректной работе скрипта. Другие текстовые редакторы, работающие под Windows, сохраняют файлы в кодировке Windows-1251. И даже если вы сможете в каком-то найти кодировку UTF-8, то он сохранится с BOOM.
Поэтому советую пользоваться именно этим редактором.
Скачать свежую версию Notepad++ вы сможете по этой ссылке.
semmblog.ru