一、利用Robot类处理文件上传(推荐)。
大致流程如下:
1、利用selenium点击web上本地文件的上传按钮;
2、在弹出的弹框中,文件输入框默认是光标聚焦,将文件路径复制到剪切板,然后粘贴。
3、按下回车,默认触发弹框的确定按钮,实现文件上传的功能。
相关核心代码如下:
//路径复制到剪切板
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(filePath, null);
//点击上传按钮
......
//新建一个Robot类的对象
Robot robot=new Robot();
//按下Ctrl+V
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
//释放Ctrl+V
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_V);
//点击回车
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
二、利用AutoIt上传文件
AutoIt是一个能支持桌面GUI自动化的工具,它支持脚本语言编写。在Selenium脚本中如果需要AutoIt来协助这个文件上传功能,大概步骤是这样的:
1. Selenium点击web产品上的文件上传按钮,弹窗上传框。
2.执行AutoIt实现准备好的脚本文件,这个脚本文件写了关于上传什么文件的一个.exe文件。