我正在尝试使用selenium中的以下代码在文本框中编写文本:
driver.findElement(By.name("name_value")).sendKeys("abc");
然而,它写入文本框,但一旦移出该输入框,内容就会被删除。
请建议。
答案 0 :(得分:0)
这很可能与应用程序中的javascript事件有关。
它不是selenium的错,而是应用程序检索击键的方式。
环顾四周,我确定你会在keydown / keypress,keyup和一些验证方法上找到一些必然的东西。如果验证方法没有及时完成,则很可能会清除文本字段。你有几个解决方案 -
JavaScriptExecutor
取消关键事件Actions
而不是sendKeys(),并在每次按键之间设置超时。类似(伪代码):
void sendKeys(String keys) {
for (Char key : keys.chars()) {
Actions.press(key)
Thread.sleep(500)
}
}
sendKeys()
。尝试3次,如果没有设置,请尝试其他解决方案。