Frage

Die folgende Anweisung

Selenium.typeKeys("location", "gmail.com");

Typen der String gmailcom statt gmail.com.

Was passiert da?

Aus den Kommentaren:
Ich versuche autofill und den einzigen Weg zu simulieren es derzeit zu tun auf Selen ist Art und typeKeys zu kombinieren. zB:

selenium.type("assigned_to", split[0]+"@");
selenium.typeKeys("assigned_to", "gmail.com");

Nun meine Frage, warum typeKeys nicht den ‚Punkt‘ nicht geben zwischen gmail.com?

War es hilfreich?

Lösung

Haben Sie versucht, die Mutterschlüsselfunktionen und javaScript char Codes ? Ich konnte kein ‚Zeit‘ Charakter erhalten mit ihnen zu arbeiten (char 190), aber ich habe das Dezimalsystem (char 110) gut zu funktionieren, und das Textfeld sollte kein Problem mit entweder.

selenium.Focus("assigned_to");
selenium.Type("assigned_to", split[0]+"@");
selenium.TypeKeys("assigned_to", "gmail");
selenium.KeyPressNative("110");
selenium.TypeKeys("assigned_to", "com");

Andere Tipps

Mit der type Methode.

Von der javadoc für typekeys :

  

Mit diesem Befehl hat oder nicht kann   sichtbare Wirkung, auch in Fällen, in denen   Tipptasten würde normalerweise ein   sichtbare Wirkung

     

...

     

In einigen Fällen können Sie   müssen die einfachen „Typ“ Befehl verwenden   den Wert des Feldes zu setzen und dann   die „typeKeys“ Befehl der schicken   Tastendruck Ereignisse entsprechend dem, was   Sie gerade eingegeben haben.

Wir hatten ähnliche Probleme typekeys in Selen Python verwendet wird.

Eine Abhilfe wir dieses Problem zu beheben dachten ist die Kombination von ‚Typ‘ zu verwenden und ‚type_keys‘. Wie Sie vielleicht wissen, geben Sie haben nicht solche Probleme.

Wir haben dies in unserem Selen Python-Skript, und es funktioniert gut.

Zum Beispiel: Wenn eine E-Mail-Adresse ist in einem Textfeld eingegeben werden: test.me@test.me.uk

Dann tun

type(locator,’test.me@test.me.’)
type_keys(locator,’uk’)

Vielleicht eine sehr grobe Art und Weise zu tun, aber es hat seinen Zweck erfüllt.

Hope, das hilft jemand anderes mit einem ähnlichen Problem.

Versuchen Sie auch Fokus auf Element zu setzen, bevor Schreib auf sie.

selenium.focus(locator);
selenium.typeKeys(locator, value);

es tat Funktion in meinem Fall eine Eingabetyp Handhabung = Passwort.

Nehmen wir die Zeichenfolge eingegeben werden typeKeys verwendet, ist „abc.xyz.efg“. Dann können wir type und typeKeys-Befehle verwenden die angegebene Zeichenfolge zu schreiben.

type(locator,"abc.xyz.")
typeKeys(locator,"efg")

Die beiden oben genannten Schritte sind nützlich, wenn Sie ein Element im Dropdown-Feld auswählen möchten, und der Abfall erscheint unten unten nur, wenn wir typeKeys Befehl verwenden.

Ich sehe dieses Verhalten auch wenn Selenium RC (C #) verwendet wird, und mit verschiedenen Zeichen ( ‚y‘ zum Beispiel, die auch das Zeichen folgt sie von der Eingabe Aktion zu entfernen scheinen ..)

Bei einigen Situationen ist es durchaus möglich, um das Problem zu erhalten, indem die Schlüssel eingeben aus mit den TypeKeys oder KeyPress Funktionen, aber ich habe es nicht geschafft, eine Lösung zu finden, die funktioniert, wenn Sie wollen, um Text in ein Feld eingeben, geben Sie Steuerzeichen ([Enter] oder ein newline zum Beispiel), und dann mehr Text eingeben .. (die ‚Typen‘ Funktion in diesem Fall einfach überschreibt die Feldinhalte mit ...).

Wenn jemand eine vernünftige Lösung für dieses Problem zu finden verwaltet, fügen Sie es auf diese Frage hinzufügen, wie es beginnt jetzt in Google zu kommen und würde wahrscheinlich eine Menge Leute helfen .. (ich würde eine Prämie beginnen, wenn ich könnte ..)

Dies ist ein offener Fehler in Selenium (Bug SEL-519 ).

Nach einigen Hantieren mit ihm, ich es endlich geschafft, eingeben ‚‘ in ein Textfeld von JavaScript verwenden. Führen Sie so etwas wie window.document.getElementById('assigned_to').value += '.' über storeEval oder dergleichen.

habe ich das gleiche Verhalten, sondern fixiert sie durch eine Variable vom Typ Befehl vorbei anstelle einer Zeichenfolge.

string email = @"name@gmail.com";
selenium.Type(inputfield, email);

Es funktioniert wie ein Charme!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top