Локаторы для элементов с одинаковыми атрибутами - PullRequest
0 голосов
/ 16 января 2020

Мне трудно написать xpath для элементов с такими же атрибутами. Абсолютный xpath не работает, потому что единственный отличительный элемент div [#] постоянно меняется. Любой совет будет принят с благодарностью.
Это DOM для 1-го элемента

<div class="logoSelect' style=z-index: 1; top: 1613px; left: 292.75px; width: auto; display: block;">
 <ul>
  <li class=logoSelectOption id ="N" onmouseover="jQuery('#worktitle').activate(this);" 
   onmouseout="jQuery('#worktitle').deactivate();" 
   onmousedown="jQuery('#worktitle').selectItem(this);" 
   logo-colour="#FFF">No
  </li>
 </ul>
</div>

Это DOM для 2-го элемента:

<div class="logoSelect' style=style="z-index: 1; top: 1716px; left: 292.75px; width: auto; display:       
block;">
 <ul>
  <li class=logoSelectOption id ="N" onmouseover="jQuery('#agendatitle').activate(this);" 
   onmouseout="jQuery('#agendatitle').deactivate();" 
   onmousedown="jQuery('#agendatitle').selectItem(this);" logo-colour="#FFF">No
  </li>
 </ul>
</div>

Ответы [ 2 ]

1 голос
/ 16 января 2020

Вы можете попробовать эти очень простые xpath, чтобы найти оба элемента

Для первого элемента:

(//li[@id='N'])[1]

Для второго элемента:

(//li[@id='N'])[2]
1 голос
/ 16 января 2020

Попробуйте следовать XPATH, чтобы получить элемент.

1-й элемент

  //li[@class='logoSelectOption' and contains(@onmouseover,'worktitle') and contains(.,'No')]

2-й элемент

  //li[@class='logoSelectOption' and contains(@onmouseover,'agendatitle') and contains(.,'No')]  

или следующий CSS селектор.

li.logoSelectOption[onmouseover*='worktitle']
li.logoSelectOption[onmouseover*='agendatitle']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...