Как перейти к извлеченным ссылкам с помощью iMacros?

Я не могу понять синтаксис iMacros.
Что я пытаюсь сделать.
1) Перейти на первую страницу моего блога
2) Найти ссылку, содержащую слово "post"
3) Перейти по ссылке, найденной на шаге 2
4) Вернуться на предыдущую страницу
5) Найти другую такую ​​же ссылку
6) Если таких же ссылок нет, найти ссылку со словом «следующее» (это означает следующую страницу)
7) Перейти на эту страницу
8) Вернуться к шагу 2

звучит как план. Затем скрипт откроет все записи на странице, сохранит их и перейдет на другую страницу.
Как мне это сделать? Я пробовал что-то с атрибутами TAG и POS, но они показывают только ошибки


person Groosha    schedule 26.02.2014    source источник


Ответы (1)


Вы ошиблись. iMacros не может этого сделать. iMacros не может использовать операторы IF. Для этого вы должны использовать сценарии JavaScript.

1) Перейти на первую страницу моего блога 2) Найти ссылку, содержащую слово «пост» 3) Перейти по ссылке, найденной на шаге 2 4) Вернуться на предыдущую страницу 5) Найти другую такую ​​же ссылку 6) Если нет таких же ссылок, найти ссылку с " следующее" слово (означает следующую страницу) 7) Перейти на эту страницу 8) Вернуться к шагу 2

Это то, о чем вы спрашиваете.

var macro;

macro ="CODE:";
macro +="URL GOTO=www.myblog.com"+"\n";


var macro1;

macro1 ="CODE:";
macro1 +="TAG POS=1 TYPE=A ATTR=TXT:*post* EXTRACT=HREF"+"\n";

var macro2;

macro2 ="CODE:";
macro2 +="URL GOTO={{link}}"+"\n";

var macro3;

macro3 ="CODE:";
macro3 +="TAG POS=1 TYPE=A ATTR=TXT:*next* EXTRACT=HREF"+"\n";

//go to link
iimPlay(macro)

//extract the link on page with text post
iimPlay(macro1)

var link=iimGetLastExtract();

//if there is such a link go to it
if(link!="#EANF#")
{

iimSet("link",link)
iimPlay(macro2)

}

//go to previous page
iimPlay(macro)

//extract the link with text post
iimPlay(macro1)

link=iimGetLastExtrac();

//if there is not a link like that extract link with text next
if(link=="#EANF#")
{

//extract link with text next
iimPlay(macro3)

var next_link=iimGetLastExtract();

//if there is a link with text next navigate to it
if(next_link!="#EANF#")
{

//navigate to link with text 
iimSet("link",next_link)
iimPlay(macro2)

}

}

Так что попробуйте поработать над этим, и вы получите ответ на свой макрос. И это должно быть помещено в файл .js и НИКАКИХ ДРУГИХ РАСШИРЕНИЙ!

person macroscripts    schedule 26.02.2014
comment
Большое спасибо! Замечательно. - person Groosha; 27.02.2014