2016-09-17 3 views
1

Ich benutze Selenium 2.53 mit Python 3.4 Firefox 47, um Automatisierungstests durchzuführen. Bei Verwendung von .send_keys (sendKeys in Java) wird das Formular automatisch gesendet, wenn ich es nicht möchte.Selen Auto sendet Formular mit Send_keys?

Das Formular Eingabe, die ich schicke Tasten ist:

<input tabindex="1" type="text" 
        name="PostingTitle" 
        id="PostingTitle" 
        maxlength="70" 
      </label> 

Es ist seltsam, weil es diese mit allen Formen tun tut. Gibt es eine Möglichkeit, Selen nicht zu unterwerfen?

+0

Welche Zeichenfolge senden Sie mit „senden Tasten“? Gibt es da eine neue Zeile? – alecxe

+0

Könnten Sie Send-Strings auch mit 'send_keys()' ?? teilen? Schicken Sie Enter-Taste oder andere? Oder gibt es irgendein Ereignis während sendKeys auf diesem HTML? –

+0

Danke für die Antwort. Keine neue Zeile und keine "Enter" - oder "Return" - oder verwandte Schlüssel. –

Antwort

1

Bei Verwendung von .send_keys (sendKeys in Java) wird das Formular automatisch gesendet, wenn ich es nicht möchte.

Es könnte möglich sein, die gewünschte Textfeld Schlüsselereignisse während der Tastaturbefehle aufzeichnet, die jede JavaScript-Funktion sein nennen kann das Formular abzuschicken, weil sendKeys normalerweise als Benutzereingabe von Tasten arbeiten.

Von Kommentare: -

Keine neuen Zeile und kein 'Enter' oder 'Return' oder miteinander verknüpfte Schlüssel. Kein Ereignis während sendKeys auf dem HTML.

Dann ist es schwer zu sagen, warum sendKeys senden Sie Ihr Formular.

können Sie execute_script() verwenden, anstatt die den Wert in der Textbox im Hintergrund und ohne auftretende alle Ereignisse, wie sie würde: -

driver.execute_script("arguments[0].value = arguments[1]", driver.find_element_by_id("PostingTitle"), "you‌​r value to set") 
+1

Danke das ist es! –

Verwandte Themen