Button mit Selenium nur mit einer class drücke?
Morgen, folgendes Problem.
Ich möchte den Button drücken lassen
Das ist der Button
<button class="button">Sign in</button> == 0
Der hat ja nur ne class, wie kann ich den jetzt drücken lassen.
Alle meine ideen sind irgendwie nicht hilfreich
Hier, den Sign Up Button meine ich
1 Antwort
Mit find_elements_by_class_name bekommst du eine Liste aller Elemente mit dem übergebenen Wert im class-Attribut. Folgend brauchst du nur noch den Index, um das richtige Element zu bekommen.
So würdest du bspw. das zweite Vorkommen anklicken (sofern es denn existiert):
buttons = driver.find_elements_by_class_name('button')
if len(buttons) > 2:
secondButton = buttons[1]
secondButton.click()
else:
print("Does not exist")
Wenn du eh stets den ersten Fund auswählen möchtest, verwende stattdessen find_element_by_class_name. Diese Funktion gibt dir direkt das erste Element zurück.
Andere Optionen zur Selektion von Elementen mit Selenium werden hier aufgelistet. Möglicherweise findest du eine Methode, die besser für deinen Anwendungsfall passt.
Das mit Driver.find_elements_by_class_name habe ich schon gemacht,
Ich gucke mir das gleich nochmal an.