Selenium 调用sun.awt.HeadlessToolkit.getSystemClipboard()后的java.awt.HeadlessException

Selenium 调用sun.awt.HeadlessToolkit.getSystemClipboard()后的java.awt.HeadlessException,selenium,selenium-webdriver,robotframework,awtrobot,Selenium,Selenium Webdriver,Robotframework,Awtrobot,我想从本地目录导入一个文件。所以我在做所有这些步骤 public static void sendFile(WebDriver webdriver, String text) { StringSelection stringSelection = new StringSelection(text); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);

我想从本地目录导入一个文件。所以我在做所有这些步骤

public static void sendFile(WebDriver webdriver, String text) 
{

    StringSelection stringSelection = new StringSelection(text);
    Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
    webdriver.switchTo().activeElement();
    waitFor.waitTimeOut(5 * 1000);

    Robot robot = null;

    try {
        robot = new Robot();
    } 
    catch (AWTException e)
   {

        throw new RuntimeException(e);
    }
    log.debug("Entering: " + text);
    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_V);
    robot.keyRelease(KeyEvent.VK_V);
    waitFor.waitTimeOut(5 * 1000);
    robot.keyRelease(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_ENTER);
    robot.keyRelease(KeyEvent.VK_ENTER);

}
我这样称呼这个方法:

String text = "C:/text.xml"
sendFile(new FirefoxDriver(),text);

但它在调用getSystemClipboardonknown源代码时抛出了java.awt.HeadlessException。但是文件的位置是正确的。有人知道这个问题的解决方案吗?

浏览文档

当代码依赖于显示时,将引发HeadlessException 设备、键盘或鼠标在不支持 支持其中任何一项

如果计划运行,也可以使用以下命令行 在无头和传统环境中的应用相同:

java-Djava.awt.headless=true


我检查了isHeadless方法的值,默认情况下该值为true。同样,我将System.setPropertyjava.awt.headless设置为true;但我也得到了同样的例外。