Установите все флажки от указанного родителя c - PullRequest
0 голосов
/ 01 апреля 2020

На самом деле я столкнулся с проблемой выбора. Я хочу установить все флажки в указанном родительском узле c.

Например, мой html код выглядит так:

<div class="A">
   <div class="B">
      <label class="xyz"> </label>
      <label class="xyz"> </label>
      <label class="xyz"> </label>
      <label class="xyz"> </label>
      <div class="C">
         <label class="xyz"> </label>
         <label class="xyz"> </label>
         <label class="xyz"> </label>
         <label class="xyz"> </label>
      </div>
   </div>
</div>
<div class="D">
   <div class="B">
      <label class="xyz"> </label>
      <label class="xyz"> </label>
      <label class="xyz"> </label>
      <label class="xyz"> </label>
   </div>
</div>

Теперь я хочу получить все метки, где class = "xyz" и родительский div class class = "A". Это означает, что я хотел бы получить первые 8 ярлыков из моего примера в списке. Можно ли сделать это так?

Вот что я попробовал:

List<WebElement> myList = driver.findElements(By.cssSelector("div.A>label.xyz"));

К сожалению, это всего лишь первые 4 ярлыка в списке. Поэтому я думаю сказать: «получить все метки с class =" xyz »и родитель с class =« A »». Я надеюсь, что вы поняли мою точку зрения - не нашел ничего точного на inte rnet.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Да, это возможно. Проверьте ниже CSS

div.A label.xyz

Снимок экрана: enter image description here

0 голосов
/ 01 апреля 2020

Вы можете получить все метки, используя приведенный ниже xpath:

List<WebElement> myList = driver.findElements(By.xpath("//div[@class='A']//label[@class='xyz']"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...