所以我正在使用iMacros,我会根据一些if语句使用JS文件播放我的宏。
这是一个小样本伪代码:
if (TextContent == "Hello World")
{
iim.Play("myMacro.iim);
}
我正在尝试检查网页是否包含“Hello World!”这个词。
我听说过TextContent
方法,但我不知道如何使用。这是使用它的正确方法吗?如果没有,那么你如何正确使用它?
更新
我已尝试过这些,但它给了我一个reference
错误。
答案 0 :(得分:2)
如果你想在iMacros中运行它,那么这段代码是完全错误的
if (TextContent == "Hello World")
{
iim.Play("myMacro.iim);
}
此代码正确。
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");
}
这将从页面中提取所有文本,如果其中有Hello World,则会提示“找到文本”。此外,还有很多关于如何制作iMacros JavaScript脚本的例子。
这是link
上的一个此外,您无法在iMacros中使用JavaScript代码。如果你使用
document.getElelementById("some_id").click();
就像在脚本中一样,它不起作用。
但如果你将它作为URL GOTO
命令的一部分使用它可能适用于IE和早期版本的Firefox。
URL GOTO=javascript:document.getElelementById("some_id").click();
规则是
TAG
命令iimGetLastExtract()
search()
,match()
,indexOf()
方法查找您要查找的内容。 答案 1 :(得分:0)
textContent
是documentElement
的属性,因此您需要:
if ((document.documentElement.textContent || document.documentElement.innerText).indexOf('Hello World') > -1)
{
iim.Play("myMacro.iim);
}
或者如评论中所建议的那样使用jQuery的text()
方法,该方法是跨浏览器兼容的