Как да използвате индекси в XPath

Имам изскачащ прозорец, където има три падащи менюта, идентификаторите са уникални с всяко генериране на изскачащи прозорци:

Първият елемент:

<a aria-required="true" class="select" aria-disabled="false" aria-
describedby="5715:0-label" aria-haspopup="true" tabindex="0" role="button" 
title="" href="/bgjavascript:void(0);" data-aura-rendered-by="5733:0" data-
interactive-lib-uid="10">Stage 1 - Needs Assessment</a>

Въпреки че мога да идентифицирам горния елемент чрез просто xpath="//*[@class='select'][1]", другите два, които ми изглеждат еднакви (пример по-долу), не могат да бъдат идентифицирани чрез индекс като //*[@class='select'][2], опитах да „следя“ без успех, но може и да не съм правилно със синтаксиса.

Пример за падащ елемент, който не мога да намеря..

<a aria-required="false" class="select" aria-disabled="false" aria-
describedby="6280:0-label" aria-haspopup="true" tabindex="0" role="button" 
title="" href="/bgjavascript:void(0);" data-aura-rendered-by="6290:0" data-
interactive-lib-uid="16">--None--</a>

Някакви идеи какво пропускам?, освен разширени познания за xpath..

Благодаря ти!


person Jan Vasina    schedule 12.02.2018    source източник
comment
Току-що разбрах, че имам тези елементи в различни секции, 'class=slds-grid mdp forcePageBlockSectionRow', и първият падащ елемент е идентифициран (вероятно], тъй като съм в първата изскачаща секция, какъв синтаксис трябва да използвам, за да намеря xpath падащо меню във втория раздел?   -  person Jan Vasina    schedule 12.02.2018


Отговори (1)


//*[@class='select'][2] ще ви върне необходимия възел само ако и двете връзки са деца на един и същи родител, напр.

<div>
    <a class="select">Stage 1 - Needs Assessment</a>
    <a class="select">--None--</a>
</div>

Ако връзките са деца на различни родители, напр.

<div>
    <a class="select">Stage 1 - Needs Assessment</a>
</div>
<div>
    <a class="select">--None--</a>
</div>

трябва да използвате

(//*[@class='select'])[1]

за първо

(//*[@class='select'])[2]

за второ

person Andersson    schedule 12.02.2018
comment
Благодаря много @Andersson, всичко е готово. - person Jan Vasina; 12.02.2018