Html 如何在某些div中选择按钮,而不是在其他div中选择按钮?

Html 如何在某些div中选择按钮,而不是在其他div中选择按钮?,html,class,text,imacros,Html,Class,Text,Imacros,我必须从中选择的HTML: <div class="diviWANT"> <div class="adiv"> </div> <button class="abutton" type="button"> <span class="aspan"> <i class="ani"></i> SomeText </span> <span

我必须从中选择的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>
Ans这里是我以前不工作的imacros脚本(选择所有按钮,即使是我不想要的按钮)

那么我怎样才能让它工作呢




这里有一个jsbin供您测试,以使其工作(更新为新的):

如果单击该按钮,它将变为紫色。(这是供您参考,以便您知道它是否单击了按钮。)

应选择的唯一按钮是带有class
diviWANT
的div中的按钮。这些是随机的,没有方法或节奏来放置
diviWANT
div。i、 e.你不能只选择奇数等。你需要根据这个问题中给定的html在
diviWANT
divs中查找按钮。

要在其他内容中选择内容,请尝试此示例

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中的另一个相同跨度

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);
测试和-它的工作

注:将
indexOf(“diviWANT”)
替换为
indexOf(“REAL\u DIV\u CLASS\u NAME”)

这是一个JS代码,保存在iMacros文件夹中,扩展名为*.JS,而不是*.iim。然后刷新iMacros列表,了解更多关于JS的信息


注:根据您提供的详细信息,我最后一次尝试帮助您,祝您好运。

您似乎没有抓住要点;我不是在一个范围内选择一个范围。我在某些div中选择了一个跨度,但在其他div中没有选择。你的答案只有在它们都在同一个分区内时才有效。更不用说我甚至不能尝试你的示例,因为你列出了我示例中不存在的“aOTHERspan”。谢谢!成功了,我投了赞成票!我会选择这个作为最佳答案,除了另一个人在他的工作解决方案中投入了太多的精力。我投了赞成票。我试过你的建议,只把div放进去,但它只是勾勒出div的轮廓,而没有点击里面的按钮。你没有解释清楚你想要什么。从一开始,您就应该说您想要单击DIV元素中的按钮。给我们一个真实的页面,在那里我们可以测试它看起来你只有两个按钮,对吗?看这里-标记位置=1类型=按钮属性=ID:b1标记位置=2类型=按钮属性=ID:b1标记位置=3类型=按钮属性=ID:b1等)抱歉,但实际代码没有b1。我应该更新jsbin,这样它就没有b1了。
TAG POS=1 TYPE=DIV ATTR=CLASS:JUST_AN_EXAMPLE&&TXT:SomeText
TAG POS=R1 TYPE=SPAN ATTR=CLASS:aOTHERspan&&TXT:SomeText
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);