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;但我也得到了同样的例外。