Подтвердить что ты не робот

Как проверить, установлен ли флажок в Selenium Python Webdriver?

Я ищу неделю, как проверить, установлен ли флажок в selenium webdriver с помощью python, но я нахожу только алгоритмы из JAVA. Я прочитал документы webdriver и у него нет ответа. У кого-нибудь есть решение?

4b9b3361

Ответ 1

Я нахожу другой способ, который работает, но использует javascript внутри.

def is_checked(self, driver, item):
  checked = driver.execute_script(("return document.getElementById('%s').checked") % item)
  return checked

Ответ 2

Существует свойство WebElement, называемое is_selected(), а для флажка указывает, проверено ли оно. Поэтому вы можете проверить, проверено или не отмечено, сделав что-то вроде этого:

driver.find_element_by_name('<check_box_name>').is_selected()

или

driver.find_element_by_id('<check_box_id>').is_selected()

Я помню, что у той же проблемы не было возможности найти документацию. Легче найти, как только вы знаете имя (здесь - это некоторые документы, is_selected находится в нижней части), но так, как я пытался найти разные параметры /properties для объектов Selenium - просто опустить dir(some_object) в код и посмотреть, какие параметры появляются (вот как появился is_selected).

Ответ 3

Я использую driver.find_element_by_name("< check_box_name >").is_selected()

Ответ 4

def assert_checkbox_status (id, expect):
    global browser
    field = browser.find_element_by_id(id)
    assert field.get_attribute ('checked')== expect

Пример использования:

assert_checkbox('activate', True) ==> assert if checkbox is checked
assert_checkbox('activate', None) ==> assert if checkbox is unchecked