我已经搜索了这么多帖子,但还是不能让它起作用。
我需要的是简单地检查是否某个词存在于网站上。(Firefox的Imacros)使用javascript。
我看过一些答案说要使用“文档”。这不管用。我见过一些人说用"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");
}
^,其中脚本只运行and...finishes。它不会抛出错误,但也不会抛出警报。它就这么结束了。
那么我该怎么做呢?
发布于 2017-03-15 15:27:46
如果您的宏中没有SET !ERRORIGNORE YES命令,您将看到iMacros抛出了一个'allocation size overflow‘异常,很可能是因为它提取的文本量太大而无法处理。
但是我刚刚用火狐上一个版本的iMacros测试了你的脚本,它没有这个问题,所以它一定是当前版本(9.0.3)的bug。在这种情况下,我建议降级到以前的版本(8.9.7):
http://wiki.imacros.net/iMacros_for_Firefox#How_to_Downgrade
发布于 2017-03-15 17:03:09
你不应该忘记一个网页可能包含多个框架,所以先在这个页面上试试下面的脚本:
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;
}
}
https://stackoverflow.com/questions/42794036
复制相似问题