
本文详解如何在 selenium webdriver(java)中通过 sendkeys() 方法向单行文本框或可编辑区域插入换行内容,核心是组合使用 keys.shift + keys.enter 实现软换行,适用于需逐行输入 csv 格式数据等场景。
在 Web 自动化测试中,常需向
✅ 正确做法(推荐):
WebElement textbox = driver.findElement(By.id("myTextBox"));
textbox.clear();
textbox.sendKeys(
"13456,Teena" + Keys.SHIFT + Keys.ENTER +
"12378,Tesa" + Keys.SHIFT + Keys.ENTER +
"130987,Jhon"
);⚠️ 关键说明:
- Keys.ENTER 单独使用会触发表单提交或焦点跳转,不适用于多行输入;
- Keys.SHIFT + Keys.ENTER 是多数现代浏览器(Chrome、Edge、Firefox)中公认的“插入换行符”快捷键,等效于手动按 ⇧+↵;
- 若目标元素为
,也可直接使用 "\n" 字符(更简洁): textbox.sendKeys("13456,Teena\n12378,Tesa\n130987,Jhon");但该方式在部分富文本编辑器中可能被过滤或忽略,因此 Keys.SHIFT + Keys.ENTER 兼容性更广。
? 扩展提示:
- Keys 枚举还支持 TAB、ARROW_DOWN、SPACE、ESCAPE 等常用功能键,可用于模拟复杂用户交互;
- 使用前务必确认目标元素已加载、可交互且未被遮挡(建议配合 WebDriverWait 显式等待);
- 若输入后未显示换行,请检查 CSS 属性(如 white-space: nowrap)或 JavaScript 拦截逻辑——此时需结合 executeScript() 注入原生值并触发 input 事件。
掌握此技巧,即可高效完成批量结构化数据(如 CSV 行、日志片段、配置列表)的自动化录入任务。










