【发布时间】:2015-08-12 02:10:06
【问题描述】:
我正在使用 Selenium Web 驱动程序(Java、Chrome 浏览器)。我想在文本区域中输入制表符。默认情况下,输入制表符会导致下一个输入成为焦点,但我实际上希望将制表符打印到 textarea 输入中。
由于我的测试是在 Windows 机器上运行的,我想我可以使用 alt 代码进入选项卡。浏览器
- 按住 alt
- 按0
- 按 9
- 释放 alt
但我不确定如何使用 WebDriver 以编程方式执行此操作。我尝试了以下方法:
WebElement myTextArea = driver.findElement(By.cssSelector("form textarea"));
myTextArea.sendKeys("before_tab", Keys.chord(Keys.ALT, Keys.NUMPAD0, Keys.NUMPAD9), "after_tab");
...但它只是将“before_tabafter_tab”打印到文本区域,我猜是因为它同时按下了 ALT、0 和 9,这不会转换为可打印的字符。
我也会考虑通过键盘快捷键或上下文菜单进行粘贴(这实际上更接近我希望用户在 textarea 中输入文本的方式),但我不知道如何放置将文本放到剪贴板上,供 selenium 驱动的浏览器访问。
任何帮助将不胜感激。
【问题讨论】: