我必须选择的HTML:
<div class="diviWANT">
<div class="adiv">
</div>
<button class="abutton" type="button">
<span class="aspan">
<i class="ani"></i>
SomeText
</span>
<span class="aclass2">
SomeText2
</span>
<span class="aclass3">
SomeText3
</span>
</button>
</div>
<div class="diviDONOTwant">
<div class="adiv">
</div>
<button class="abutton" type="button">
<span class="aspan">
<i class="ani"></i>
SomeText
</span>
<span class="aclass2">
SomeText2
</span>
<span class="aclass3">
SomeText3
</span>
</button>
</div>
请注意,除以下内容外,两个div是IDENTICAL:
<div class="diviWANT">
和<div class="diviDONOTwant">
。
以下是我的NONWORKING imacros脚本(根本没有选择按钮)
VERSION BUILD=6060703 RECORDER=FX
SET !TIMEOUT_STEP 1
SET !ERRORIGNORE YES
WAIT SECONDS=0.5
TAG POS=1 TYPE=DIV ATTR=CLASS:diviWANT&&TXT:SomeText
TAG POS=2 TYPE=DIV ATTR=CLASS:diviWANT&&TXT:SomeText
TAG POS=3 TYPE=DIV ATTR=CLASS:diviWANT&&TXT:SomeText
这里的答案是我以前的NONWORKING imacros脚本(选择所有按钮,即使我不想要)
VERSION BUILD=6060703 RECORDER=FX
SET !TIMEOUT_STEP 1
SET !ERRORIGNORE YES
WAIT SECONDS=0.5
TAG POS=1 TYPE=SPAN ATTR=CLASS:aspan&&TXT:SomeText
TAG POS=2 TYPE=SPAN ATTR=CLASS:aspan&&TXT:SomeText
TAG POS=3 TYPE=SPAN ATTR=CLASS:aspan&&TXT:SomeText
那我怎样才能让它发挥作用呢?
这是一个jsbin供你测试,试图让它工作(更新到新的):
http://jsbin.com/AnewiNE/1/
如果单击该按钮,它将变为紫色。 (这是供您参考,所以你知道它是否点击了按钮。)
应该选择的唯一按钮是具有类diviWANT
的div内的按钮。这些是随机的,diviWANT
div的放置没有方法或节奏。即你不能只选择奇数等。你需要根据这个问题中给定的html来寻找并找到diviWANT
div中的按钮。
答案 0 :(得分:1)
要选择其他内容,请尝试此示例
TAG POS=1 TYPE=DIV ATTR=CLASS:JUST_AN_EXAMPLE&&TXT:SomeText
TAG POS=R1 TYPE=SPAN ATTR=CLASS:aOTHERspan&&TXT:SomeText
如果这解决了问题,请告诉我们。否则我会编辑答案。我无法从您的代码中分辨出您想要选择哪个div以及要离开的内容。
编辑:方法是一样的,你只需稍微改变它。所以这将选择一个DIV并在其中选择SPAN。由于DIV标签不同,因此不会选择另一个DIV中的另一个相同SPAN。
答案 1 :(得分:1)
var i=1;
do
{
iimSet("i", i);
iimPlay("CODE:TAG POS={{i}} TYPE=DIV ATTR=TXT:SomeText* EXTRACT=HTM");
if(iimGetLastExtract()!='#EANF#')
{
if(iimGetLastExtract().indexOf("diviWANT")>0)
{
iimSet("i", i);
iimPlay("CODE:TAG POS={{i}} TYPE=BUTTON ATTR=TXT:SomeText*");
}
}
else break;
i++;
}
while(i);
在http://jsbin.com/oPuFiHa/4和http://jsbin.com/AnewiNE/1上进行了测试 - 它正在运行。
注意:将indexOf("diviWANT")
替换为indexOf("REAL_DIV_CLASS_NAME")
这是一个JS代码,将其保存在iMacros文件夹中,扩展名为* .js,而不是* .iim。然后刷新iMacros列表,更多关于JS阅读here。
P.S。:根据您提供的详细信息,我最后一次尝试帮助您,祝您好运。