Ich suche eine Woche wie überprüfen, ob ein Kontrollkästchen in selen webdriver mit Python aktiviert ist, aber ich finde nur Algoritmen von JAVA. Ich habe die Webdriver-Dokumentation gelesen und es gibt keine Antwort darauf. Jeder hat eine Lösung?Wie kann ich überprüfen, ob ein Kontrollkästchen in Selenium Python Webdriver aktiviert ist?
Antwort
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
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).
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
Ich verwende driver.find_element_by_name("<check_box_name>").is_selected()