Ich muss ein Element aus einem Dropdown- Menü auswählen .
Beispielsweise:
<select id="fruits01" class="select" name="fruits">
<option value="0">Choose your fruits:</option>
<option value="1">Banana</option>
<option value="2">Mango</option>
</select>
1) Zuerst muss ich darauf klicken. Ich mache das:
inputElementFruits = driver.find_element_by_xpath("//select[id='fruits']").click()
2) Danach muss ich das gute Element auswählen, sagen wir mal Mango
.
Ich habe versucht, es damit zu tun, inputElementFruits.send_keys(...)
aber es hat nicht funktioniert.
python
selenium
selenium-webdriver
web-scraping
webdriver
Adam Bovien
quelle
quelle
Select
class macht das Problem viel einfacher zu lösen, siehe die Antwort, die ich gepostet habe.find_by_id
? Wie gebe ich dann den Wert an? Wie finde ich dasxpath
eines Elements?Selen bietet eine praktische
Select
Klasse für die Arbeit mitselect -> option
Konstrukten:Siehe auch:
quelle
Zuerst müssen Sie die Select-Klasse importieren und dann die Instanz der Select-Klasse erstellen. Nach dem Erstellen der Instanz der Select-Klasse können Sie für diese Instanz Auswahlmethoden ausführen, um die Optionen aus der Dropdown-Liste auszuwählen. Hier ist der Code
quelle
Ich hoffe, dieser Code wird Ihnen helfen.
Dropdown-Element mit ID
Dropdown-Element mit xpath
Dropdown-Element mit CSS-Selektor
Wählen Sie 'Banane' aus einer Dropdown-Liste
ddelement.select_by_index(1)
ddelement.select_by_value('1')
ddelement.select_by_visible_text('Banana')
quelle
Ich habe viele Dinge ausprobiert, aber mein Dropdown-Menü befand sich in einer Tabelle und ich konnte keine einfache Auswahloperation ausführen. Nur die folgende Lösung funktionierte. Hier hebe ich Dropdown-Elemente hervor und drücke den Abwärtspfeil, bis der gewünschte Wert erreicht ist -
quelle
Sie müssen nichts anklicken. Verwenden Sie find by xpath oder was auch immer Sie wählen und verwenden Sie dann send keys
Für Ihr Beispiel: HTML:
Python:
Das ist es.
quelle
Sie können eine CSS-Auswahlkombination gut verwenden
Ändern Sie die 1 im Attribut = Wert CSS-Selektor auf den Wert, der der gewünschten Frucht entspricht.
quelle
Es wird gut funktionieren
quelle
Es funktioniert mit Optionswert:
quelle
Auf diese Weise können Sie alle Optionen in beliebigen Dropdowns auswählen.
quelle
for items in range(1,input1): inputs.select_by_index(items)
, aber es beginnt mit dem zweiten Index. Wie kann ich den ersten Wert erhalten?Der beste Weg, mit der
selenium.webdriver.support.ui.Select
Klasse mit Dropdown-Auswahl zu arbeiten, aber manchmal funktioniert es aufgrund von Entwurfsproblemen oder anderen Problemen des HTML nicht wie erwartet.In dieser Art von Situation können Sie auch eine alternative Lösung bevorzugen, indem Sie
execute_script()
Folgendes verwenden: -quelle
öffentliche Klasse ListBoxMultiple {
}}
quelle