Я не могу понять синтаксис iMacros.
Что я пытаюсь сделать.
1) Перейти на первую страницу моего блога
2) Найти ссылку, содержащую слово "post"
3) Перейти по ссылке, найденной на шаге 2
4) Вернуться на предыдущую страницу
5) Найти другую такую же ссылку
6) Если таких же ссылок нет, найти ссылку со словом «следующее» (это означает следующую страницу)
7) Перейти на эту страницу
8) Вернуться к шагу 2
звучит как план. Затем скрипт откроет все записи на странице, сохранит их и перейдет на другую страницу.
Как мне это сделать? Я пробовал что-то с атрибутами TAG и POS, но они показывают только ошибки
Как перейти к извлеченным ссылкам с помощью iMacros?
Ответы (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
Большое спасибо! Замечательно.
- person Groosha; 27.02.2014