Mac下 使用selenium 上传文件
在使用selenium 编写自动化的过程中, 会遇到上传文件的问题
对于windows 系统, 可以使用第三方软件Autoit工具, 或者直接给input赋值, 但是对于mac 系统, 确无法使用第三方软件,且文件弹框也没有input 类型的控件。
那我们会想如何解决mac 上传文件的问题呢? 答案马上揭晓…
-
可以使用快捷键模拟操作,代码如下:
public void uploadFile(String filepath){ //File Need to be imported File file = new File(filepath); StringSelection stringSelection= new StringSelection(file.getAbsolutePath()); ///Copy to clipboard/ Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null); Robot robot = null; try { robot = new Robot(); } catch (AWTException e) { // TODO Auto-generated catch block e.printStackTrace(); } // Cmd + Tab is needed since it launches a Java app and the browser looses focus robot.keyPress(KeyEvent.VK_META); robot.keyPress(KeyEvent.VK_TAB); robot.keyRelease(KeyEvent.VK_META); r