无法在 IE11 中使用 sendkeys 或 javascript 在输入框中输入文本
Can not enter text in input box using sendkeys or javascript in IE11
我正在尝试使用 sendkeys 或 javascript 在输入框中输入文本。我可以看到输入字段中输入了值,但是当单击搜索按钮时,我收到一条错误消息,指出输入字段不能为空。
html 是
input id="inputMId" class="" type="text" data-bind="value: mId, onMFieldFocusOut: MId,css{datePicker:isMIdError()}" maxlength="15"
span class="validationMessage" style="display: none;"
span id="MErrorMessage" class="validationMessage"
data-bind="text:mErrorMessage,visible:isVisibleMErrorMessage()"
style="display: none;"
我试过的代码是
element.sendKeys("value")
和
JavascriptExecutor js = (JavascriptExecutor)getDriver();
js.executeScript("document.getElementById('inputMId').value='"+testData.get("MId")+"';");
我正在使用宁静框架在 Internet Explorer 11 上尝试此操作。
上面的代码在 chrome
上工作得很好
我在 IE 中遇到了类似的问题,我使用的快速解决方法是
- 使用 java 脚本执行器将元素滚动到视图中
- 执行 SendKeys() 操作
- 将焦点放在文本字段上
- 最后将焦点从元素上移开(模糊)
我用它来尝试复制实际的用户交互
虽然我很想知道为什么一个简单的 SendKeys() 操作可以在 Chrome 而不是 IE
上运行的原因
最后,以下内容对我有用。
Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable stringSelection = new StringSelection(myString);
clpbrd.setContents(stringSelection, null);
element.click();
Robot r;
try {
r = new Robot();
r.keyPress(KeyEvent.VK_CONTROL);
r.keyPress(KeyEvent.VK_V);
r.keyRelease(KeyEvent.VK_CONTROL);
r.keyRelease(KeyEvent.VK_V);
} catch (AWTException e) {
e.printStackTrace();
}
我不确定这段代码是否会 运行 成功使用 Jenkins,在本地它工作得很好
我正在尝试使用 sendkeys 或 javascript 在输入框中输入文本。我可以看到输入字段中输入了值,但是当单击搜索按钮时,我收到一条错误消息,指出输入字段不能为空。
html 是
input id="inputMId" class="" type="text" data-bind="value: mId, onMFieldFocusOut: MId,css{datePicker:isMIdError()}" maxlength="15"
span class="validationMessage" style="display: none;"
span id="MErrorMessage" class="validationMessage" data-bind="text:mErrorMessage,visible:isVisibleMErrorMessage()" style="display: none;"
我试过的代码是
element.sendKeys("value")
和
JavascriptExecutor js = (JavascriptExecutor)getDriver();
js.executeScript("document.getElementById('inputMId').value='"+testData.get("MId")+"';");
我正在使用宁静框架在 Internet Explorer 11 上尝试此操作。
上面的代码在 chrome
我在 IE 中遇到了类似的问题,我使用的快速解决方法是
- 使用 java 脚本执行器将元素滚动到视图中
- 执行 SendKeys() 操作
- 将焦点放在文本字段上
- 最后将焦点从元素上移开(模糊)
我用它来尝试复制实际的用户交互
虽然我很想知道为什么一个简单的 SendKeys() 操作可以在 Chrome 而不是 IE
上运行的原因最后,以下内容对我有用。
Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable stringSelection = new StringSelection(myString);
clpbrd.setContents(stringSelection, null);
element.click();
Robot r;
try {
r = new Robot();
r.keyPress(KeyEvent.VK_CONTROL);
r.keyPress(KeyEvent.VK_V);
r.keyRelease(KeyEvent.VK_CONTROL);
r.keyRelease(KeyEvent.VK_V);
} catch (AWTException e) {
e.printStackTrace();
}
我不确定这段代码是否会 运行 成功使用 Jenkins,在本地它工作得很好