三种方式:
1、标准上传控件 input type=’file‘,使用sendkeys(“uploadfile_name”);
2、非标准控件,使用java.awt.Robot键盘处理。回车、Tab、粘贴等。
/**
* 模拟键盘回车事件
*
* @throws AWTException
*/
public void KeyEventEnter() throws AWTException {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
}
/**
* 复制变量值到剪贴板,并粘贴
*
* @throws AWTException
*/
public void KeyEventClipboard(String str) throws AWTException {
Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable t = new StringSelection(str);
cb.setContents(t, null);
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
}
3、使用工具Autoit v3生成.ext可执行文,在java脚本中执行代替操作。
//cmd为执行文件。c:\upload.exe
public void autoit(String cmd) {
try {
Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
}
}