2013-01-21 11 views

Odpowiedz

4

Znajduję inny sposób, który działa, ale używa javascript wewnątrz.

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

Istnieje właściwość WebElement o nazwie is_selected(), a dla pola wyboru wskazuje, czy jest ona zaznaczona. Dlatego można sprawdzić, czy jest zaznaczone/odznaczone robiąc coś takiego:

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

lub

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

Pamiętam posiadające ten sam problem nie jest w stanie znaleźć w dokumentacji. Łatwiej jest znaleźć, gdy znasz już nazwę (here to niektóre dokumenty, is_selected jest na dole), ale sposób, w jaki próbowałem znaleźć różne opcje/właściwości obiektów Selenium to po prostu upuścić kod dir(some_object) i zobaczyć, co opcje pojawiają się (tak się pojawiło is_selected).

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

Przykład zastosowania:

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

mi stosując driver.find_element_by_name("<check_box_name>").is_selected()

Powiązane problemy