【问题标题】:Robot class do not works in IE for the file upload scenario机器人类在 IE 中不适用于文件上传场景
【发布时间】:2016-08-02 15:01:25
【问题描述】:

我遇到了这种情况 我有一个文件上传场景..这里我不能使用 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 中做到这一点 请告诉我

谢谢, 穆萨菲尔

【问题讨论】:

  • 我也有这个问题。如果您当时找到了解决方案,可以在这里分享解决方案吗?

标签: java file-upload selenium-webdriver awtrobot


【解决方案1】:

确定在执行任何用户交互操作(鼠标或键盘事件)之前是否要求 IE 窗口具有焦点。此功能默认为 false,但可提供更准确的原生事件交互。

像下面这样设置 Capabilty 类型。它对我有用。

capabilities.setCapability("requireWindowFocus", false);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 2010-10-23
    • 1970-01-01
    • 2019-12-30
    • 2018-09-18
    • 2014-03-22
    • 2011-08-02
    相关资源
    最近更新 更多