Ich schreibe Tests mit Selen. In diesen Tests muss ich eine Zahl in ein Feld in einem Formular eingeben.
Hier ist der html:
%Vor%Und der Code:
%Vor% Übrigens, wenn ich zum Beispiel den Typ des Feldes in "text" ändere, gibt es überhaupt kein Problem. Außerdem funktioniert field.send_keys(Keys.UP)
großartig (funktioniert aber nicht, wenn ich Bootstrap benutze) und field.clear()
arbeiten die ganze Zeit, ebenso wie field.click()
.
Seleniumversion: 2.41.0 Firefox-Version: 29.0
Weil Sie Firefox 29 verwenden. Bitte führen Sie einen Downgrade auf Firefox 28 durch, auf den Selenium 2.41.0 unterstützt, siehe ÄNDERUNGEN Datei. Andernfalls müssen Sie auf neue Selenium-Updates warten.
Hier ist, was ich mit Firefox 28 getestet habe:
%Vor%Siehe auch: Selenium kann Felder mit der Typennummer nicht finden
Ich bin auf Fedora (die keine alten Versionen von Paketen wie Firefox zur Verfügung stellt), so "Downgrade Firefox" ist ein bisschen eine Nicht-Antwort.
Glücklicherweise gibt eine Antwort auf eine sehr ähnliche Frage Hinweise auf eine bessere Lösung - die "dom.forms. number "Firefox preference, um die Sonderbehandlung von input type="number"
zu deaktivieren. In Python:
Arbeiten mit Firefox 29 und Selenium 2.41.0
Ich bin heute Morgen auf dieses Problem gestoßen. Nach dem Upgrade von Selenium funktioniert es nun korrekt.
Wenn Sie dies also lesen, führen Sie
aus %Vor%und versuchen Sie es erneut. Ich bin von Selenium Version 2.41.0 zu 2.42.1 gegangen und es funktioniert jetzt richtig mit Firefox 30.0.
Sie können wahrscheinlich Javascript verwenden, um dieses Problem anzugehen. Der folgende Code ist in Java, aber es kann wahrscheinlich ähnlich in Python gemacht werden:
%Vor%Ich hatte das gleiche Problem und die Verwendung von Javascript löste es.
Tags und Links python firefox selenium selenium-webdriver