About
iMacros - это плагин для браузера. Есть версии для FF, IE, Chrome.Имитирует действия пользователя в браузере с помощью команд-макросов. Макросы записываются в *.iim фалы. Файлы хранятся на диске.
Программа выглядит, как набор команд.
Пример кода:
VERSION BUILD=6650406 RECORDER=FX
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=http://ya.ru
URL GOTO=javascript:alert('test');
TAB T=1
TAB CLOSEALLOTHERS
URL GOTO=http://ya.ru
URL GOTO=javascript:alert('test');
iMacros может работать под управлением JavaScript. Создаются js-файлы, которые могут вызывать iim. Например, в js-файле можно определить переменные, которые будут использоваться в нескольких вызываемых iim-файлах.
Макрокоманды
TAB
закрыть все вкладки браузера, кроме текущей:TAB CLOSEALLOTHERS
открыть новую вкладку:TAB OPEN NEW
TAG
обратиться к полю Input и задать ему значение:TAG POS=1 TYPE=INPUT ATTR=ID:k_name CONTENT={{FIRM}}
получить содержимое страницы внутрь массива iimGetLastExtract (доступен внутри javascript):TAG POS=1 TYPE=* ATTR=* EXTRACT=TXT
JavaScript
функции
iimPlay('test') | выполнить файл test.iim |
iimSet('-var_SERVER', 'http://google.ru') | установить переменную, тогда в iim-файле к ней можно обратиться так: URL GOTO={{SERVER}} |
iimGetLastExtract(1) | обратиться к результату, выдернутому со страницы |
объекты
браузер
var br = getBrowser();
var tabs = br.mTabContainer.childNodes; // массив открытых табов браузера
alert(tabs.length); // отобразить количество табов
var tabs = br.mTabContainer.childNodes; // массив открытых табов браузера
alert(tabs.length); // отобразить количество табов
Решения
Обход по списку ссылок
javascript-файл:var br = getBrowser();
var tabs = br.mTabContainer.childNodes;
var a = [
"http://google.ru",
"http://ya.ru",
"http://rambler.ru",
"http://mail.ru",
"http://yahoo.com"
];
function tt(){
while ( tabs.length < 3 ){
iimSet('-var_SERVER', a.pop())
iimSet('-var_TAB', tabs.length )
iimPlay( 'test' );
}
if (a.length>0){
setTimeout( tt, 1000 );
}
}
tt();
iim-файл:var tabs = br.mTabContainer.childNodes;
var a = [
"http://google.ru",
"http://ya.ru",
"http://rambler.ru",
"http://mail.ru",
"http://yahoo.com"
];
function tt(){
while ( tabs.length < 3 ){
iimSet('-var_SERVER', a.pop())
iimSet('-var_TAB', tabs.length )
iimPlay( 'test' );
}
if (a.length>0){
setTimeout( tt, 1000 );
}
}
tt();
VERSION BUILD=6650406 RECORDER=FX
TAB OPEN NEW
TAB T={{TAB}}
URL GOTO={{SERVER}}
TAB OPEN NEW
TAB T={{TAB}}
URL GOTO={{SERVER}}
Получение json-строки по URL
js-файл:iimPlay( "test.iim" );
var myObj = JSON.parse( iimGetLastExtract(1) );
alert(myObj[1]);
iim-файлvar myObj = JSON.parse( iimGetLastExtract(1) );
alert(myObj[1]);
URL GOTO={{SERVER}}
TAG POS=1 TYPE=* ATTR=* EXTRACT=TXT
TAG POS=1 TYPE=* ATTR=* EXTRACT=TXT
Здравствуйте. var br = getBrowser(); почему то не работает
ОтветитьУдалить