0

如何使用 if 语句检查页面内容,然后根据 if 语句执行操作?以下是点击时可能出现的结果:

图片1

http://i.imgur.com/V9rnrVS.png

图二

http://i.imgur.com/eeYhfXU.png

图三

http://i.imgur.com/W6Tjd8l.jpg

所以这是我的主线逻辑:

I will keep on clicking the box on the page [picture 1]

if it encounters [picture 2] click the box (i have the code for that)

else if it encounters [picture 3] refresh the page

else keep on clicking the box

如果图像不清晰,请随时发表评论,我会尽力上传更清晰的图像。


所以现在我尝试构建代码,但它似乎不起作用。

地图.js

var test;

test ="CODE:";
test +="SET !ERRORIGNORE YES "+"\n";
test +="URL GOTO=http://tppcrpg.net/map.php?Map=11 "+"\n";

for (var i = 1; i < 10 ; i++)
{

iimSet("n",i)
iimPlay(test)
iimPlay("map1.iim")

}

地图1.iim

TAG POS=1 TYPE=INPUT:IMAGE FORM=ACTION:/map.php?Map=11 ATTR=NAME:Find

它给了我这个错误:

[异常...“组件返回失败代码:0x80520001(NS_ERROR_FILE_UNRECOGNIZED_PATH)[nsILocalFile.initWithPath]”nsresult:“0x80520001(NS_ERROR_FILE_UNRECOGNIZED_PATH)”位置:“JS框架::resource://imacros/utils.js:::line 192" 数据:无],行:188(错误代码:991)


使用Expert Complete HTML Code我发现如果我遇到[图3]有以下代码:

TAG POS=1 TYPE=H2 ATTR=*
TAG POS=2 TYPE=P ATTR=CLASS:center
4

3 回答 3

1

您在这里有一个 imacros javacript 脚本示例。

使用 Javascript 在 Imacros 中循环

您可以在该页面上的一个 div 中声明 3 个代码,每个代码都包含 iMacros 代码。使用 if 子句,您可以查看页面上存在哪一个。

编辑:

在 HTML 中,您有名为 DIV 的元素。像这样

<div class="some_div">
Some text
</div>

要单击该 div,iMacros 代码是:

TAG POS=1 TYPE=DIV ATTR=CLASS:some_div
于 2013-11-06T17:25:25.623 回答
0

我在使用 iMacros 时发现,如果我使用任何类型的分支(ifs 或循环)创建脚本,最好在 JS 中对其进行编码,并且仅在执行 JS 无法轻松完成的事情时使用 iMacros 语言. 您可以使用 iimSet 将变量传递给 iMacros 脚本,并使用 iimGetLastExtract 将它们返回给 JS。JavaScript 中的“content”变量等于页面的“window”对象,“content.document”等于页面的“document”对象。

如果不知道有问题的代码,很难提供一个具体的例子。我希望这能为您指明正确的方向,并让您像老板一样收获那些口袋妖怪。

于 2013-11-16T03:00:13.937 回答
0

也许您可以创建一个回调函数,该函数在发生更改(例如显示/隐藏图片)时始终调用。

仅靠图像很难提供帮助。可以发布一些代码或提供更多信息吗?我在理解您的问题时/遇到了问题;)

于 2013-11-06T17:04:29.917 回答