硒聚焦窗口

时间:2018-12-11 23:29:47

标签: java selenium selenium-webdriver automated-tests

我知道我不是第一个很难尝试使用Selenium从Windows文件浏览器上载文档的人(我之前做过),但是这个应用程序很奇怪完成了。

基本上,您单击一个input元素,然后在键入键时出现Windows文件浏览器。

在测试中,我填充了剪贴板,并尝试在Windows文件资源管理器输入(似乎要集中显示)中发送文件路径:

String myString = text;
StringSelection stringSelection = new StringSelection(myString);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, null);
Actions action = new Actions(driver);
action.sendKeys(Keys.chord(Keys.CONTROL, "v")).perform();
action.build().perform();

不幸的是,是浏览器输入接收到了粘贴的文本。

我愿意取消此输入的焦点,因此可能会将文本粘贴到Windows文件浏览器的输入中。

有什么主意吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

机器人帮助我摆脱了这个问题。

try {
    Robot 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();
}

Actions action = new Actions(driver);应该给了我一个提示:如果我们搞乱了驱动程序,那么就不可能搞乱Windows文件浏览器。