2016-05-12 16 views
0

私は以下のような複雑なHTMLを持っています。data-automation-id='promptIcon'属性の少なくとも2つの要素があります。 Selenium IDE //*[@data-automation-id='promptIcon']/では、最初のオカレンスが選択されました(つまり、ラベルカテゴリの隣)。今度はdata-automation-id='promptIcon'属性の2番目の要素(ラベル所有者の隣)をクリック/選択したいと思います。どのようにこれを達成するために最高の?Selenium - 同じIDを持つ2番目のプロンプトをクリック

<div class="GB-VO1SBAIJ"> 
<div class="GB-VO1SBNHJ" style="left: 0%;"> 
    <div id="wd-EditPage-1$4296" class="GB-VO1SBOXH GB-VO1SBHXH GB-VO1SBJXH GB-VO1SBJN"> 
    <div class="GB-VO1SBBYH"> 
    <div class="GB-VO1SBJN" id="wd-PageContent-6$8263"> 
    <div class="GB-VO1SBAJH"> 
     <div class="GB-VO1SBIIH"> 
     <div id="wd-Panel-6$8269" data-automation-id="panel" class="GB-VO1SBF1J GB-VO1SBJN"> 
     <div class="gwt-Label GB-VO1SBJ1J GB-VO1SBI1J"> 
     </div> 
     <div class="GB-VO1SBH1J"> 
     <div class="GB-VO1SBAJH GB-VO1SBG1J"> 
      <ul role="presentation" class="GB-VO1SBNHH GB-VO1SBGIH"> 
      <li role="presentation" class="GB-VO1SBDHH GB-VO1SBJIH"> 
      <div class="GB-VO1SBFHH"> 
      <label data-automation-id="formLabel" id="15$20858--uid318-formLabel">Category<span class="gwt-InlineLabel GB-VO1SBDIH"> Required</span> 
      </label> 
      <div aria-hidden="true" class="GB-VO1SBGHH wd-5b94a643-7d98-473f-b3a4-be58aaf8d4f5">Category</div> 
      </div> 
      <div class="GB-VO1SBHHH"> 
      <div aria-labelledby="15$20858--uid318-formLabel" aria-invalid="false" tabindex="-2" id="15$20858--uid318" data-automation-id="responsiveMonikerInput" class="GB-VO1SBCFL GB-VO1SBJN GB-VO1SBIEL GB-VO1SBPFL GB-VO1SBNFL"> 
       <div class="GB-VO1SBHFL"> 
       <ul data-automation-id="selectedItemList" role="list" class="GB-VO1SBJUI GB-VO1SBOUI GB-VO1SBGFL" tabindex="-2"> 
       <li class="GB-VO1SBNUI"> 
       <div id="-uid331" role="menuitem" tabindex="-2" class="GB-VO1SBFUI GB-VO1SBMUI"> 
        <div data-automation-id="selectedItem_2200$2" class="GB-VO1SBDVH"> 
        <ul role="presentation" class="GB-VO1SBFUH GB-VO1SBLUH"> 
        <li class="GB-VO1SBCVH"> 
        <i title="Clear Value" class="GB-VO1SBCIF GB-VO1SBJ1I GB-VO1SBB1I GB-VO1SBHUH" data-automation-id="DELETE_charm" role="presentation" data-icon-rtl-id="" data-icon-id=""> 
        </i> 
        </li> 
        </ul> 
        <div title="Common" data-automation-label="Common" data-automation-id="promptOption" class="gwt-Label GB-VO1SBEVH">Common</div> 
        <ul class="GB-VO1SBFUH"> 
        </ul> 
        </div> 
       </div> 
       </li> 
       <li class="GB-VO1SBNUI"> 
       <div id="-uid332" role="menuitem" tabindex="-2" class="GB-VO1SBFUI GB-VO1SBMUI"> 
        <div data-automation-id="selectedItem_2200$3" class="GB-VO1SBDVH"> 
        <ul role="presentation" class="GB-VO1SBFUH GB-VO1SBLUH"> 
        <li class="GB-VO1SBCVH"> 
        <i title="Clear Value" class="GB-VO1SBCIF GB-VO1SBJ1I GB-VO1SBB1I GB-VO1SBHUH" data-automation-id="DELETE_charm" role="presentation" data-icon-rtl-id="" data-icon-id=""> 
        </i> 
        </li> 
        </ul> 
        <div title="Absence" data-automation-label="Absence" data-automation-id="promptOption" class="gwt-Label GB-VO1SBEVH">Absence</div> 
        <ul class="GB-VO1SBFUH"> 
        </ul> 
        </div> 
       </div> 
       </li> 
       </ul> 
       </div> 
       <span tabindex="0" data-automation-id="promptIcon" title="Prompt" class="GB-VO1SBBGL"> 
       <i class="GB-VO1SBCIF GB-VO1SBCGL" data-automation-id="icon" role="presentation" data-icon-rtl-id="" data-icon-id=""> 
       </i> 
       </span> 
       <div aria-hidden="true" tabindex="0" style="display: none;" class="GB-VO1SBP3I" role="button" data-automation-morelinkexpanded="false" data-automation-id="wd-MoreLink"> 
       <img alt="" draggable="false" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="gwt-Image GB-VO1SBPII GB-VO1SBB4I"> 
       <span title="More (-3)" class="GB-VO1SBC4I">More (-3)</span> 
       </div> 
      </div> 
      </div> 
      </li> 
      <li role="presentation" class="GB-VO1SBDHH"> 
      <div class="GB-VO1SBFHH"> 
      <label data-automation-id="formLabel" id="15$26787--uid319-formLabel">Owner</label> 
      <div aria-hidden="true" class="GB-VO1SBGHH wd-5b94a643-7d98-473f-b3a4-be58aaf8d4f5">Owner</div> 
      </div> 
      <div class="GB-VO1SBHHH"> 
      <div aria-labelledby="15$26787--uid319-formLabel" aria-invalid="false" tabindex="-2" id="15$26787--uid319" data-automation-id="responsiveMonikerInput" class="GB-VO1SBCFL GB-VO1SBJEL GB-VO1SBJN GB-VO1SBIEL"> 
       <div class="GB-VO1SBHFL"> 
       <ul data-automation-id="selectedItemList" role="menu" class="GB-VO1SBJUI GB-VO1SBGFL GB-VO1SBOUI" tabindex="-2"> 
       </ul> 
       </div> 
       <span tabindex="0" data-automation-id="promptIcon" title="Prompt" class="GB-VO1SBBGL"> 
       <i class="GB-VO1SBCIF GB-VO1SBCGL" data-automation-id="icon" role="presentation" data-icon-rtl-id="" data-icon-id=""> 
       </i> 
       </span> 
      </div> 
      </div> 
      </li> 
      </ul> 
     </div> 
     </div> 
     </div> 
     </div> 
    </div> 
    </div> 
    </div> 
    <div class="GB-VO1SBIYH"> 
    </div> 
    <footer class="GB-VO1SBCYH"> 
    <div> 
    <div data-automation-id="toolbarSupportingWidgetsContainer" class="GB-VO1SBOOE GB-VO1SBAOE"> 
     <div class="GB-VO1SBLNE"> 
     <div class="GB-VO1SBMNE"> 
     <div class="GB-VO1SBCOE"> 
     </div> 
     <div class="GB-VO1SBPOE"> 
     </div> 
     </div> 
     </div> 
     <div> 
     <div class="gwt-Label GB-VO1SBDNE"> 
     </div> 
     </div> 
    </div> 
    <div class="GB-VO1SBCPE GB-VO1SBEPE"> 
    </div> 
    </div> 
    </footer> 
    </div> 
</div> 
</div> 

答えて

0

あなたは、XPathを使用している場合は、それを行うための簡単な方法があります:

//*[@data-automation-id='promptIcon'][2] 

説明する:=」データの自動化-ID @

// *を[ promptIcon ']

あなたの実際のxpathは、 "data-automation-id"という名前のattrを持つ任意のhtmlタグをexaで選択しますctly値 "promptIcon"。

[2]

選択したい要素ノード。 [5]を入力すると、XPathはこのhtmlの5桁の結果を、あなたが呼んでいるノートに基づいて選択しようとします。

+0

エラーが発生しました - 要素// * [@ data-automation-id = 'promptIcon'] [2] /見つかりませんでしたが、インデックス1は正常に動作します// * [@ data-automation-id = 'promptIcon'] [1]/ – Kris

+0

'/ * [contains(@ data-automation-id、 'prompt')] [2]'は同じエラーを返しますか? –

+0

こんにちはStriter、これは動作します - // * [(@ data-automation-id、 'promptIcon')] [1]を含みます。しかし、これはまだ動作しません。* [contains(@ data-automation-id、 'promptIcon')] [2] – Kris

関連する問題