Wenn Sie ein Element verwenden, das in Selenium nicht vorhanden ist, wird die Fehlermeldung angezeigt: Element: xxx kann nicht gefunden werden. Ich möchte die Existenz von Elementen im Voraus überprüfen.
Gelegentlich sehe ich eine Methode zur Behandlung von Ausnahmen mit dem folgenden Versuch, aber tatsächlich kann sie auch mit len beurteilt werden.
try:
driver.find_element_by_id('test').click()
except:
#nicht existieren
Der Punkt ist, driver.find_elements_by_id anstelle von driver.find_element_by_id zu verwenden. Auf den ersten Blick sieht es genauso aus, aber im ersteren Fall tritt eine Abnormalität auf, wenn das Element nicht vorhanden ist. Im letzteren Fall tritt die Abnormalität auch dann nicht auf, wenn das Element nicht vorhanden ist. Insbesondere wird es wie folgt verwendet.
if len(driver.find_elements_by_id('test') > 0) :
ele = driver.find_element_by_id('test')
#Verarbeitung, wenn vorhanden
else:
#Verarbeitung, wenn sie nicht vorhanden ist
Recommended Posts