Selen / Python - Auswahl per css-Selektor
Problem:
Kann nicht wählen Sie aus css-Selektor-spezifische element. Müssen stellen Sie sicher, dass die registrierten Benutzer können Ihr Kennwort ändern, erfolgreich. Ich habe versucht, die unterschiedlichen Attribute der Klasse zu nennen. Das Ergebnis ist ein Ausnahme Fehler in der Methode, wenn Sie versuchen mit den ersten beiden Beispielen. Der Letzte Versuch nennt die erste-Klasse-Instanz und setzt den Passwort-Feldern (fail).
Versucht:
driver.find_element_by_css_selector("value.Update").click()
driver.find_element_by_css_selector("type.submit").click()
driver.find_element_by_css_selector("input.test_button4").click()
Ziel:
Brauche ich, um wählen Sie Elemente, die dieselbe Klasse. Wie Sie unten sehen können, wird die Klasse geteilt.
form id="changepw_form" name="changepw" action="#" method="post">
<div class="field3">
<div class="field3">
<div class="field3">
<input class="test_button4" type="reset" value="Reset" style"font-size:21px"="">
<input class="test_button4" type="submit" value="Update" style"font-size:21px"="">
Du musst angemeldet sein, um einen Kommentar abzugeben.
BEARBEITEN:
Da der Selektor muss ein
class
,id
odertagname
, abervalue.Update
selbst ist keine von diesen..test_button4
bietet eine classname match gegen, und von dort aus[value='Update']
gibt an, welche insbesondere die match(es) zu wählen.driver.find_element_by_css_selector("input.test_button4", value="Update").click()
- und das hat nicht funktioniert. Preciate es!Dies ist etwas, das ich sehe fast nie jemand, Dokument, erklären, oder zu verwenden.
(krank verwenden Namen zum Beispiel, weil einfachsten)
find_element_by_name()
gibt einen einzigen Punkt, oder gibt eine Ausnahme, wenn es nicht, finden esfind_elements_by_name()
gibt eine Liste von Elementen. wenn keine Elemente gefunden werden, ist die Liste leer istwenn du also eine
find_elements_by_class_name()
und gibt es eine Liste mit X-Einträgen in es, alle das ist Links zu diesem Punkt zu verengen, was Sie wollen, ist entweder etwas altmodisch list comprehension ( wie, wie ich in meiner Antwort ) oder eine Indizierung wenn Sie aus irgendeinem Grund wissen, welches element Sie wollen.auch
get_attribute()
ist ernsthaft unter-als gut ausgelastet. es analysiert, die innerhalb der html-Elemente mit dem, was ist, bevor der=
und gibt was ist nach der=