Mit Selen, das in Python zu klicken/wählen Sie ein Optionsfeld
Ich versuche aus einer Liste auswählen 3 Tasten, aber kann nicht einen Weg finden, um Sie auszuwählen. Unten ist der HTML arbeite ich mit.
<input name="pollQuestion" type="radio" value="SRF">
<font face="arial,sans-serif" size="-1">ChoiceOne</font><br />
<input name="pollQuestion" type="radio" value="COM">
<font face="arial,sans-serif" size="-1">ChoiceTwo</font><br />
<input name="pollQuestion" type="radio" value="MOT">
<font face="arial,sans-serif" size="-1">ChoiceThree</font>
Ich es finden kann, indem mit dem folgenden code:
for i in browser.find_elements_by_xpath("//*[@type='radio']"):
print i.get_attribute("value")
Dieser Ausgänge: SRF,COM,MOT
Aber ich möchte wählen Sie ChoiceOne. (Klicken Sie darauf), Wie mache ich das?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie CSS-Selektor-oder XPath auswählen
value
Attribut direkt, dann klicken Sie auf es.Korrekturen (aber OP sollte lernen wie zum nachschlagen in der Dokumentation)
find_elements_by_css
existiert nicht, es heißtfind_elements_by_css_selector
. Man sollte in der Lage sein Blick auf die Ausnahmemeldung, und ein Blick in die Dokumentation hier und herausfinden, warum.find_element_by_css_selector
undfind_elements_by_css_selector
? Die ersten findet man die ersten passenden element, das zweite findet man eine Liste, so müssen Sie [0], index. Hier ist in der API-Dokumentation. Der Grund, warum ich das letztere, weil ich kopiert dein code, was ich nicht sollte.find_element_by_css_selector("input[type='radio'][value='SRF']").click()
find_elements_by_css_selector
für mich gearbeitet,Selenium webdriver Radio-button, klicken Sie auf
Wenn ich verwendet xpath :
radio button nicht ausgewählt
Aber ich css_selector :
radio-button ausgewählt
Diese endete als das Update. Ich war immer ohne Fehler die [0] gibt, dass eine Liste nicht haben eine click () - Attribut (obwohl es nur 1 Spiel). Vielen Dank für die Hilfe user1177636!
Erste Radio button nicht ausgewählt wurde, für mich auch. Aber nach dem einlegen der Zeit, es funktioniert für mich.