Селен явно подождать, подождать, пока список кнопок не станет кликабельным

0

На странице есть список кнопок. Исходный код каждой кнопки совпадает с исходным текстом.

Мне нужно подтвердить, что все кнопки на одной странице можно использовать с помощью WebDriverWait.until. Я могу использовать следующий WebDriverWait(driver,10).until(ec.element_to_be_clickable(By.XPATH,'//a[@class="ng-scope"]')) чтобы подтвердить нажатие первой кнопки, но как можно Я подтверждаю второй, не используя текстовую функцию (abc | efg)?

Любое предложение об извлечении индекса в xpath? Спасибо.

<li class="ng-scope" ng-report="one in typelist">
    <a class = "btn ng-binding" ng-class="{aabbcc}"> abc</a>
</li>
<li class="ng-scope" ng-report="one in typelist">
    <a class = "btn ng-binding" ng-class="{aabbcc}"> efg</a>
</li>
Теги:
selenium
selenium-webdriver
webdriver

2 ответа

0

Попробуйте захватить весь элемент в список и выполнить итерацию каждого из них для проверки, являются ли они доступными для кликов

0

Вы можете искать по xpath по индексу

WebDriverWait(driver, 10).until(ec.element_to_be_clickable(By.XPATH, "//a[@class='ng-scope'][2]"))

Это даст вам вторую кнопку.

  • 0
    Для второй области видимости должно быть [2], а не [1]. проверьте это: http://selenium-python.readthedocs.org/locating-elements.html
  • 0
    @dvenkatsagar Я нашел почему (хотя ваш пример был немного расплывчатым, посмотрите здесь ). Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню