我正在尝试使用Selenium WebDriver和Java在Linux OS中使用Chrome浏览器中的无头文件来上传文件。我尝试使用操作类,但无法在文件上传对话框中识别文件。
我不应该使用Robot类,因为Headless不支持它。
动作类
String currentDirectory = System.getProperty("user.dir") + File.separator + "Cube_Vik_407.step";
StringSelection ss = new StringSelection(currentDirectory);
System.out.println("Path:" + currentDirectory);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
driver.getDriver().switchTo().activeElement();
Thread.sleep(5000);
Actions builder = new Actions(driver.getDriver());
builder.sendKeys(Keys.ENTER)
.keyDown(Keys.CONTROL)
.keyDown(Keys.CONTROL).sendKeys(String.valueOf('\u0068'))
.keyDown(Keys.CONTROL).sendKeys(String.valueOf('\u0056')).perform();
builder.release();
builder.sendKeys(Keys.ENTER).build().perform();
我希望可以从Linux OS的chrome浏览器上的“文件上传”对话框中成功选择并上传文件。