我无法理解iMacros的语法。
我想做什么。
1)转到我博客的第一页
2)查找包含单词“post”的链接
3)转到步骤2中找到的链接
4)返回上一页
5)找到另一个相同的链接
6)如果没有相同的链接,找到“下一个”字的链接(这意味着下一页)
7)转到该页面
8)返回步骤2
听起来像是个计划。然后脚本将打开页面上的所有帖子,保存它们并转到另一页面
我怎样才能做到这一点?我尝试了TAG和POS属性,但它们只显示错误
答案 0 :(得分:2)
你错了。 iMacros不能这样做。 iMacros不能做IF条款。为此,您必须使用JavaScript脚本。
1)转到我博客的第一页 2)查找包含单词“post”的链接 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文件中,没有其他扩展!