8.Работа с JavaScript.
Пришло время научиться связывать наши отдельные задания в полноценную программу. Тут уже приходит на помощь JavaScript. Отныне мы будем работать только в текстовом файле с расширением .js И код в нем пишется немного по другому:
var per = 1
Мы создали переменную «per» и записали в нее значение — цифру 1
Записывать в нее можно все что угодно, только нужно понимать что цифры отличаются от строк. Если записывать строку ее нужно взять в кавычки
var per = ‘Наша первая строка’
можно использовать как двойные кавычки, так и одинарные. Чтоб пока не заморачиваться, договоримся использовать только одинарные.
Теперь для того чтоб использовать строку ‘Наша первая строка’, достаточно просто вызвать в любом месте кода переменную per. Это как бы коробочка в которую что-то ложите и достаете когда вам нужно.
В такую коробочку можно положить и кусок кода, который написан на языке iMacros. Потом когда мы будем вызывать эту переменную, наш браузер будет выполнять весь код iMacros, который в ней записан. Чтоб это все совершить, вам нужно зайти в нашу папку C:\iMacros\Macros\Обучение и создать там текстовый документ с расширением .js
По умолчанию в Windows закрыт доступ к расширению файла, поэтому у вас могут возникнуть небольшие проблемы. Но они легко решаемы, например вот WINDOWS 7: КАК ПОКАЗАТЬ РАСШИРЕНИЯ ФАЙЛОВ
Назовем наш новый документ «Работа с плейлистами.js»
Теперь вам нужно перезагрузить ваш браузер и в каталоге Обучение появится новый файл «Работа с плейлистами.js» Правой кнопкой на нем\редактировать:
Всплыло окно, в котором мы должны писать уже на языке JavaScript. Он немного отличается от языка Imacros. Например комментарии уже нужно писать после двойного слеша(//), а не после одинарной ковычки(‘) как в аймакросе.
Перепишем всю нашу разработку в JavaScript код:
1 2 3 4 5 6 7 8 9 |
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»
Давайте разберем все построчно:
Первые две строки стандартные, их нужно писать всегда так, только переменная может быть другая. Мы объявили переменную в которую будем «впихивать» код аймакрос построчно. того чтоб начать новую строку аймакроса нужно использовать такой способ:
1 |
переменная += |
для того чтоб закончить строку и перейти на новую нужно исользовать в конце строки
1 |
+ "\n"; |
сама строка аймакроса берется в двойные кавычки.
Обратите внимание что в строке 3 в пути к файлу
1 |
C:\\iMacros\\Macros\\Обучение\\zapros.txt |
мы используем уже двойной обратный слеш. Не будем вдаваться в подробности, это просто такая особенность, которую пока достаточно помнить.
Ну и последние две строки:
1 |
iimPlay(macro) // |
обозначают вызов переменной
1 |
macro |
в которой записан код аймакрос. Чтоб этот код воспроизводился, вызов пишется именно в таком виде. И это довольно удобно. Программа раз вобрала в себя код который нужно выполнять, и потом выполняет его сколько угодно раз. В нашем случае два раза.
Но что делать если выполнений нужно, скажем, 100 000? Ну а для этого милости прошу, продвигаемся дальше.
Здравствуйте!
Благодарю за уроки, которые вы даёте всем желающим по аймакросу и ява-скрипам.
А хотел спросить про прокси. В частности, как связать браузер ТОР с аймакросом так, чтоб ТОР менял пользователя и при этом аймакрос-скрипт продолжал бы работать?
Проблема в том, что чтобы нормально зарабатывать на сайтах, приходится регистрировать много аккаунтов, это требует часто так же и смену айпи адресов, которые достать бывает проблематично. А браузер ТОР работает через прокси и разными айпи. Но, чтобы поменять айпи адрес, надо сменить пользователя, то есть перезапустить ТОР. А это означает что аймакрос-скрипт завершит цикл и вообще свою работу.
Вот как можно подружить ТОР-браузер и аймакрос?
Спасибо за хороший вопрос. Не использую Тор, потому что это лишняя головная боль. Я предпочитаю покупать анонимные прокси. Для полной анонимности использую связку: смена юзер агента, чистка кэш(в аймакросе команда CLEAR), смена прокси.
В аймакросе смена прокси возможна командой PROXY ADDRESS но меня такой вариант не очень устраивает, потому что возможны вылеты и залеты.
Я использую внешнее расширение ProxyTool, и переключаю его через about:config Это гарантия стабильной работы. Прокси и пароль к ним подтягиваю через таблицу. Юзерагент тоже меняю через about:config
Добавляйте блог в закладки, рассмотрю эти темы во втором курсе.
Здравствуйте, спасибо за помощь в информации (многое узнал). ПоДскажите, пожалуйста, как ефективно менять ип, после определенных команд макрос.(К сожалению, еще не изучил js, PROXY ADDRESS= не работает). Спасибо.
TOR — это не головная боль! Это очень удобно там где надо много РАЗНЫХ прокси. В Zennoposter, это прописывается очень просто: указываем в экшене IP-адрес (точно не помню какой). Перед запуском Зенки, запускаем TOR-браузер. И все! Это вся «головная боль».
Анонимные прокси — вот это головная боль, потому что ДОРОГО. Вас спросили или можно связать TOR с IMACROS, а не хвалить анонимные прокси. Напишите, например, сколько будет стоить 1000-2000 анонимных прокси. А 5000? В TOR — это бесплатно.
Вы не ответили или можно связать TOR с IMACROS?
Я беру 70 анонимных прокси за 3$ на месяц. В принципе этого хватает на сутки для одного скрипта. Иногда использую бесплатные прокси когда нужно слишком большое количество.
Связать аймакрос и TOR-браузер проблем нет, только что установил на него это расширение. Переключать ай пи еще не пробовал, но думаю это не проблема.
Почему я для себя сделал вывод что тор «головная боль»:
Был опыт накручивания простого голосования на сайте с годик назад. Вот почему-то тор там сдыхал после смены примерно 50 ай-пи. Тоесть сразу ай-пи давались свежие, потом попадались уже использованные, и все чаще и чаще. До тех пор пока не заканчивались. Нужно было ждать до следующего дня. В итоге для накрутки 500 голосов, нужно было потратить большое количество дней. Тогда я еще не был знаком с аймакросом. Потом ту же задачу я реализовал на аймакросе. Крутил на бесплатных айпи. При этом крутили и мои соперники по голосованию. В итоге голосование вылилось в соревнование «кто больше накрутит». Я легко мог давать фору и обходить соперников. Это тот случай когда нужно много ай-пи.
Второй вариант почему нужны анонимные прокси — такие сервисы например как ВК, гугл, да и еще все отальные более менее денежные сервисы четко контролируют страну айпи адреса.
Я не являюсь большим специалистом в торе, может там и возможны какие-то гибкие настройки. Но если это интересует людей, значит это тоже востребовано. Я обязательно рассмотрю возможности взаимодействия с аймакрос/тор и выложу в блоге. Спасибо что указали на данную необходимость!
Здравствуйте! Спасибо, что делитесь информацией. Круто! Очень круто! Затянуло — не то слово! Подскажите, где покупаете прокси за 3 дол? Напишите здесь либо на почту evelina.zayc@gmail.com. Буду ждать Вашего ответа. Спасибо!
по 3$ беру тут bit.ly/TipaProxy_com
Но качество там не очень, хотя для многих проектов то что нужно. Привязки по ай пи нет. Но в поддержку очень сложно достучаться.
Не могу установить расширение файла не выходит на табло с лева Обучение.PL.iim есть все сделал по инструкции для виндомс 7 как показать расширения файлов помогите что делать?
но тут же подробно описано http://profhelp.com.ua/articles/windows-7-%D0%BA%D0%B0%D0%BA-%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1%8C-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D1%8F-%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2
Текстовый документ с расширением .js В каталоге Обучение не устанавливается новый файл «Работа с плейлистами.js» какая причина и как установить Обучение,PL.iim. Current.iim установились
Нужно создать файл Работа с плейлистами.js в той же папке. Потом нужно не забыть закрыть и заново открыть расширение аймакрос.
Добрый день! вы напишите по последовательно как установить папку «Работа с плейлистами.js» не получается
Текстовом документе с расширением .js что то нужно написать потом периминовать «Работа с плейлистами.js» всяко побовал не усанавливается iMacuos
Здравствуйте. Я новичок, но Ваши уроки мне очень помогают. Возникла проблема. Мною написан скрипт на сайт http://faucet.btcmonsoon.com/, В imacros он работает двумя командами EVENT TYPE=CLICK SELECTOR=»HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>FORM>DIV:nth-of-type(2)>DIV>INPUT» BUTTON=0 и EVENTS TYPE=KEYPRESS SELECTOR=»HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>FORM>DIV:nth-of-type(2)>DIV>INPUT» CHARS=»3MPYrWUmLGttm6AV8xHeT81XxiZnZGhi7B» , а в javascript не хочет прописывать биткоин кошелек. В javascript следующие команды + «EVENT TYPE=CLICK SELECTOR=’HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>FORM>DIV:nth-of-type(2)>DIV>INPUT’ BUTTON=0» + jsN и + «EVENTS TYPE=KEYPRESS SELECTOR=’HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>FORM>DIV:nth-of-type(2)>DIV>INPUT’ CHARS=’+bitcoin+'» + jsN. В javascript работа со сменой прокси и кошельков. Я понимаю, что лучше Вам выслать полностью два кода, но не знаю Вашей почты
Здравствуйте. Видимо вы с кавычками запутались Я бы на вашем месте последнюю строчку попробовал так:
‘EVENTS TYPE=KEYPRESS SELECTOR=\»HTML>BODY>DIV>DIV:nth-of-type(2)>DIV>FORM>DIV:nth-of-type(2)>DIV>INPUT\» CHARS=’+bitcoin+jsN
Возможно тут это код будет неправильно выглядеть, но смысл в том, что попробуйте команду аймакроса взять в одинарные ковычки, а внутри самой команды использовать двойные (как и есть при записи), только их нужно экранировать таким знаком \
я просто не пойму если у вас и после CHARS= идет двойная ковычка, тогда оконцовка у вас будет такая:
>DIV>INPUT\» CHARS=\»’+bitcoin+'»‘+jsN
Огромное спасибо, все получилось.
Как тяжело воспринимается пояснения в видео….Никакой системности…куча окон, все мигает открывается закрывается… Дурдом… Тяжелый лектор…
когда сможете выложить инструкцию как макрос связать с тор чтоб он когда необходимо менял личность ?
Блин….не чего не могу поделать,пишет в линии 3 (macro += «URL GOTO=https://www.youtube.com/?gl=UA&hl=ru» + «\n»; // заходим на ютуб) — ошибка.Файл iim отрабатывает отлично, js не хочет….В чем может быть причина??????
Разобрался)))Нашел Вашу подсказку = macro = «SET !ERRORIGNORE YES»+ «\n»))))
здравствуйте скажите что не так прописано одинаковые макросы в iim и js. iim работает,все как положено воспроизводит . а js останавливается на 4 строке и пошет такую ошибку (TypeError: this.dataSource[(line — 1)] is undefined, line 4 (Error code: -1001)
все форумы перерыл не кто не ответил может вы подскажите вот примеры скриптов джава
for (i=1;i<=1;i++){
var macro;
macro = "CODE:";
macro += ("CMDLINE !DATASOURCE D:\\FirefoxPortable\\Data\\profile\\iMacros\\Datasources\\zapros.txt") + "\n";
macro += ("ADD !EXTRACT {{!COL1}}") + "\n";
iimPlay(macro)
var zapros = iimGetLastExtract(1)
iimDisplay('строка '+ i +' запрос '+ zapros)
macro = "CODE:" + "\n";
macro += ("URL GOTO=https://www.facebook.com/") + "\n";
macro += ("TAG POS=1 TYPE=SPAN ATTR=TXT:ГРУППЫ") + "\n";
macro += ("TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:https://www.facebook.com/search/top/ ATTR=NAME:q CONTENT={{!COL1}}") + "\n";
macro += ("TAG POS=1 TYPE=BUTTON FORM=ID:searchBarClickRef ATTR=TXT:Поиск") + "\n";
macro += ("TAG POS=1 TYPE=DIV ATTR=TXT:Группы") + "\n";
macro += ("SET !EXTRACT NULL") + "\n";
iimPlay(macro)
}
и iim
CMDLINE !DATASOURCE D:\\FirefoxPortable\\Data\\profile\\iMacros\\Datasources\\zapros.txt
ADD !EXTRACT {{!COL1}}
URL GOTO=https://www.facebook.com/
TAG POS=1 TYPE=SPAN ATTR=TXT:ГРУППЫ
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:https://www.facebook.com/search/top/ ATTR=NAME:q CONTENT={{!COL1}}
TAG POS=1 TYPE=BUTTON FORM=ACTION:https://www.facebook.com/search/top/ ATTR=TXT:Поиск
TAG POS=1 TYPE=DIV ATTR=TXT:Группы
SET !EXTRACT NULL
Не знаю, нужно разбираться. Попробуйте вставить после
macro += «CMDLINE !DATASOURCE D:\\FirefoxPortable\\Data\\profile\\iMacros\\Datasources\\zapros.txt» + «\n»;
строку
macro += «SET !DATASOURCE_COLUMNS 1» + «\n»;
если не заработает, не замарачивайтесь с подключением таким образом. Скорее всего у вас стоит другая версия аймаккроса, а не та про которую я писал. Для того чтоб решить ваш вопрос, просто первой строкой заходите на этот файл строкой
iimPlayCode(‘URL GOTO=file:///D:/FirefoxPortable/Data/profile/iMacros/Datasources/zapros.txt’)
//и потом выбирайте содержимое файла в переменную
var zapros = content.document.body.textContent
Если в данных много строк, то разбейте через .split(‘\n’) на массив, и работайте с ним.
нет он останавливается на этих строках TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:https://www.facebook.com/search/top/ ATTR=NAME:q CONTENT={{!COL1}}
TAG POS=1 TYPE=BUTTON FORM=ACTION:https://www.facebook.com/search/top/ ATTR=TXT:Поиск
просто не пойму почему в iimто все работает
и ваша версия аймакрос для мозилы 47.1.0 не подходит
теперь все проходит все работает но из переменной не вставляет в поле взятое из zapros.txt
СДЕЛАЛ ВОТ ТАК
for (i=1;i<=1;i++){
iimPlayCode("CMDLINE !DATASOURCE D:\\FirefoxPortable\\Zapros\\zapros.txt\n SET !DATASOURCE_COLUMNS 1\n SET !EXTRACT {{!COL1}}")
var zapros = iimGetLastExtract(1)
iimDisplay('строка '+ i +' запрос '+ zapros)
iimPlayCode("URL GOTO=https://www.facebook.com/")
iimPlayCode("TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:https://www.facebook.com/search/top/ ATTR=NAME:q CONTENT={{!COL1}}")
НО ЕСЛИ CONTENT= ВСАВИТЬ ДОПУСТИМ ЛЮБОЕ СЛОВО ТО РАБОТАЕТ
а если {{!COL1}} то ошибка TypeError: this.dataSource[(line — 1)] is undefined, line 1 (Error code: -1001)
почему из переменной не ставит в поле ввода не пойму помоги вся работа на этом стоит время уже много убил а к результату не пришел
нашел решение через программу imacros code creator там код аймакрос преобразовал в js и все работает ,но почему в ручную писал и не пошло не пойму если есть возможность разберите мой вопрос за рание спасибо с Уважением Роман
Там другого не дано. Только синтаксическая ошибка при написании кода.‘
Все пробелы между словами которые пишутся с помощью аймакрос должны заменяться на ‘
Пишу скрипты автоматизации браузера и ПК через Imacros-JavaScript любой сложности. Цена договорная
Если нужно, могу предоставить примеры работ.
https://vk.com/danger_is_lord