我已经搜索了很多帖子,但仍然无法使用它。
我需要的是简单地检查网站上是否存在某个单词。 (使用JavaScript的Imacros)。
我看到一些答案说使用“文档”。这不起作用。 我见过有人说使用“window.document”。这给出了一个错误,表示它在多进程firefox中不受支持。 有些人说做类似的东西也行不通。
我也发现了这个;
var macro;
macro ="CODE:";
macro +="SET !ERRORIGNORE YES"+"\n";
macro +="TAG POS=1 TYPE=HTML ATTR=TXT:* EXTRACT=TXT"+"\n";
iimPlay(macro)
var text=iimGetLastExtract();
if(text.search("Hello World")!=-1)
{
alert("Found the text");
}
^脚本运行的地方......完成。它不会抛出错误,但它也不会抛出警报。它结束了。
那我怎么能这样做?
答案 0 :(得分:0)
如果您的宏中没有SET!ERRORIGNORE YES命令,您会看到iMacros正在抛出一个'分配大小溢出'异常,很可能是因为它提取的文本量太大而无法处理。
但是我刚刚使用以前版本的iMacros for Firefox测试了你的脚本,它没有这个问题,因此它必须是当前版本(9.0.3)的错误。在这种情况下,我建议降级到以前的版本(8.9.7):
http://wiki.imacros.net/iMacros_for_Firefox#How_to_Downgrade
答案 1 :(得分:0)
您不应该忘记网页可能包含多个框架,因此请先在此页面上尝试以下脚本:
for (i = 0; ; i++) {
var ret = iimPlayCode("SET !TIMEOUT_STEP 1" + "\n" + "FRAME F=" + i + "\n" + "TAG POS=1 TYPE=BODY ATTR=* EXTRACT=TXT");
if (ret != 1) {
// alert("Not found the text");
break;
}
if (iimGetExtract().indexOf("Imacros - check if text exits (javascript)") > -1) {
alert("Found the text");
break;
}
}