由GetElementByID填充的值不是由Textfield获取的

时间:2017-02-13 13:04:09

标签: javascript selenium-webdriver appium-ios

您好,我正在appium中自动化一个移动应用程序。出于某种原因,我无法使用.sendkeys方法编辑文本。所以,切换到如下所示的Java脚本方法。

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

上面的命令按预期填充文本字段。但是,在提交表单中的最终提交按钮时,未输入“名字”。因此输入的值不予考虑。

EX:enter image description here

这里有什么想法错了..

由于

2 个答案:

答案 0 :(得分:0)

我对appium不熟悉,但尝试使用value ="' test'"而不是

value = \" test \"")它似乎是一个"很少。

答案 1 :(得分:0)

有些人如何在下面找到解决方案:

              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);