我遇到过这种情况 我有一个文件上传场景..我不能使用sendKeys方法发送文件的绝对路径,因为没有输入元素,我只有一个'浏览'按钮从本地文件夹中选择文件
所以要处理这个问题,我使用selenium webdriver点击“浏览器”按钮后使用机器人类和下面的逻辑:
StringSelection sc = new StringSelection(file); >>file is the one to upload
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sc, null);
try {
Robot robot= new Robot();
robot.delay(3000);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.delay(2000);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.delay(3000);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
}
这在chrome和firefox中非常有效......但在Internet Explorer 11中却没有 在IE中,模型对话框打开,但它没有粘贴假定要上载的文件的路径 是否有任何人在IE中遇到此问题 我们是否必须在IE中做任何额外的事情 请让我知道
谢谢, Musaffir
答案 0 :(得分:0)
确定在执行任何用户交互操作(鼠标或键盘事件)之前是否要求IE窗口具有焦点。默认情况下,此功能为false,但提供更准确的本机事件交互。
设置Capabilty类型,如下所示。这对我有用。
capabilities.setCapability(“requireWindowFocus”,false);