Селен - Как нажать на этот промежуток? - PullRequest
0 голосов
/ 21 апреля 2020

Я пытался использовать cssSelector и xpath. Я не могу использовать class=chips__text, поскольку он не уникален. Как я могу нажать на промежуток с текстом Nou?

<ul id="targetparam17" class="chipschoice fleft">
   <li class="hidden">
      <a href="#" class="is-selected">
         <span class="chips__text">Alege</span>
         <span class="value"></span>
      </a>
   </li>
   <li class="">
      <a href="#" class="">
         <span class="chips__text">Utilizat</span>
         <span class="value">used</span>
      </a>
   </li>
   <li class="">
      <a href="#" class="">
         <span class="chips__text">Nou</span>
         <span class="value">new</span>
      </a>
   </li>
</ul>

Ответы [ 4 ]

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

Попробуйте ниже xpath:

driver.find_element_by_xpath("//ul[@id='targetparam17']//li//a//span[contains(.,'Nou')")
0 голосов
/ 21 апреля 2020

ExpectedConditions.elementToBeClickable означает, что селен, чтобы быть кликабельным, это то, что он видим и включен. См. Здесь

Таким образом, вы должны проверить, является ли webElement isDisplayed () и isEnabled ().

Или же вы можете использовать ExpectedConditions.visibilityOf(WebElement)

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

Я использовал //span[contains(.,'Nou ')] и он отлично работает

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

Найдите элемент относительно нужного текста, т. Е. «Nou», а затем нажмите на него. xpath для него - //span[text()='Nou']. В случае, если вы хотите использовать разные тексты для нажатия на разные промежутки, вы можете манипулировать xpath, используя методы манипуляции со строками. Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...