如何使用if语句检查页面内容,然后根据if语句执行操作?以下是点击时可能产生的结果:
图片1
http://i.imgur.com/V9rnrVS.png
图片2
http://i.imgur.com/eeYhfXU.png
图片3
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
如果图片不清晰,请随时发表评论,我会尽力上传更清晰的图片。
所以现在我尝试构建代码,但它似乎不起作用。
Map.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")
}
map1.iim
TAG POS=1 TYPE=INPUT:IMAGE FORM=ACTION:/map.php?Map=11 ATTR=NAME:Find
它给了我这个错误:
[Exception ...“组件返回失败代码:0x80520001(NS_ERROR_FILE_UNRECOGNIZED_PATH)[nsILocalFile.initWithPath]”nsresult:“0x80520001(NS_ERROR_FILE_UNRECOGNIZED_PATH)”location:“JS frame :: resource://imacros/utils.js :: ::第192行“数据:否”,行:188(错误代码:991)
使用专家完整HTML代码我发现如果我遇到[图片3],则代码如下:
TAG POS=1 TYPE=H2 ATTR=*
TAG POS=2 TYPE=P ATTR=CLASS:center
答案 0 :(得分:1)
你有一个imacros javacript脚本的例子。
Loop in Imacros using Javascript
您可以将包含iMacros代码的3个代码声明到该页面上的div。使用if子句,您可以看到页面上有哪一个。
编辑:
在HTML中,您有一个名为DIV的元素。喜欢这个
<div class="some_div">
Some text
</div>
要点击该div,iMacros代码为:
TAG POS=1 TYPE=DIV ATTR=CLASS:some_div
答案 1 :(得分:0)
也许你可以创建一个回调函数,当变化(如显示/隐藏图片)发生时,它总是被调用。
很难帮助完成图像。可以发布一些代码或提供更多信息吗?我在理解你的问题时遇到了问题;)
答案 2 :(得分:0)
我在使用iMacros时发现,如果我正在使用任何类型的分支(ifs或循环)创建脚本,最好用JS编写代码,并且在执行JS可以做的事情时只使用iMacros语言很容易做到。您可以使用iimSet将变量传递给iMacros脚本和iimGetLastExtract以将它们返回给JS。 JavaScript中的“content”变量等于页面的“window”对象,“content.document”等于页面的“document”对象。
在不知道相关代码的情况下,很难提供具体的例子。我希望这能指出你正确的方向,让你像老板一样收获那些神奇宝贝。