2017-02-13 5 views
0

Hallo Ich automatisiere eine der mobilen Anwendung in Appium. Aus irgendeinem Grund kann ich einen Text nicht mit der Methode .sendkeys bearbeiten. Also, wechselte zu Java-Skript-Methode wie unten.Wert von GetElementByID nicht durch Textfield

driver.executeScript("document.getElementById('first-name').value = \"test\""); 

Der obige Befehl füllt das Textfeld erwartungsgemäß aus. Wenn Sie jedoch den letzten Absenden-Button im Formular eingeben, wird "Vorname" nicht eingegeben. Der eingegebene Wert wird nicht berücksichtigt.

EX: enter image description here

eine Ahnung, was falsch hier ..

Dank

+1

Können Sie teilen 'HTML' für die' form'? – Andersson

+0

+0

Oben ist HTML-Code für eines der Textfelder –

Antwort

0

Ich bin nicht so vertraut mit appium sondern versuchen, Wert verwenden = " 'test'" statt

Wert = \ "Test \" ") scheint es ein" zu wenig.

+0

Nein ... Es ist nur eine Zeichenfolge Illustration. Funktioniert nicht...:( –

0

Einige, wie eine Lösung gefunden unter:

   WebElement firstName = driver.findElementByXPath("//*[@id=\"first-name\"]"); 
       driver.executeScript("var element=arguments[0]; " 
          + "element.value='test';" 
          + "if (\"createEvent\" in document) " 
          + "{var evt = document.createEvent(\"HTMLEvents\");" 
          + "evt.initEvent(\"change\", false, true);" 
          + "arguments[0].dispatchEvent(evt);}" 
          + "else" 
          + "arguments[0].fireEvent(\"onchange\");", firstName); 
Verwandte Themen