Я ищу неделю, как проверить, установлен ли флажок в selenium webdriver с помощью python, но я нахожу только алгоритмы из JAVA. Я прочитал документы webdriver и у него нет ответа. У кого-нибудь есть решение?
Как проверить, установлен ли флажок в Selenium Python Webdriver?
Ответ 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