如何使用if语句检查页面文本?

时间:2014-02-06 22:58:26

标签: javascript if-statement text imacros

所以我正在使用iMacros,我会根据一些if语句使用JS文件播放我的宏。

这是一个小样本伪代码:

if (TextContent == "Hello World")
{
    iim.Play("myMacro.iim);
}

我正在尝试检查网页是否包含“Hello World!”这个词。

我听说过TextContent方法,但我不知道如何使用。这是使用它的正确方法吗?如果没有,那么你如何正确使用它?

更新

我已尝试过这些,但它给了我一个reference错误。

2 个答案:

答案 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();

规则是

  1. 首先使用iMacros TAG命令
  2. 进行提取
  3. 使用iimGetLastExtract()
  4. 将文本存储在变量中
  5. 使用search()match()indexOf()方法查找您要查找的内容。

答案 1 :(得分:0)

textContentdocumentElement的属性,因此您需要:

if ((document.documentElement.textContent || document.documentElement.innerText).indexOf('Hello World') > -1)
{
    iim.Play("myMacro.iim);
}

或者如评论中所建议的那样使用jQuery的text()方法,该方法是跨浏览器兼容的