2013-01-21 6 views

Antwort

4

Ich finde einen anderen Weg, der funktioniert, aber Javascript innen verwendet.

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

Es gibt eine WebElement-Eigenschaft mit der Bezeichnung is_selected(), und für ein Kontrollkästchen wird angegeben, ob es aktiviert ist. Daher können Sie überprüfen, ob es aktiviert ist/nicht markiert durch so etwas wie dies zu tun:

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

oder

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

Ich erinnere mich an das gleiche Problem mit nicht in der Lage Dokumentation zu finden. Es ist einfacher zu finden, sobald Sie den Namen wissen (here sind einige Dokumente, is_selected ist nach unten), aber die Art, wie ich versucht habe, verschiedene Optionen/Eigenschaften für Selenium Objekte zu finden ist einfach dir(some_object) in den Code fallen und sehen was Optionen kommen (so ist is_selected erschienen).

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

Beispiel:

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

Ich verwende driver.find_element_by_name("<check_box_name>").is_selected()