Selenium上传文件

selenium自带了对应的API可以上传问题,如果这个上传文件的html code中显示的type是file那么你就可以使用下面的代码上传文件。

/**
         * click the upload button to upload the file ,this is for hte webFile element ,the input type is file
         * @param driver
         * @param e
         * @param filepath
         * http://sauceio.com/index.php/2012/03/selenium-tips-uploading-files-in-remote-webdriver/
         * upload the local file from remote webdriver
         */
        public void uploadFile(WebElement e,String filepath){
            String uploadcode=getInnerHtmlCode(e);
            highLight(e);
            logger.info("the upload webelement html code we get is:"+uploadcode);
            e.sendKeys(filepath);
        }

其中只需要填上对应的上传文件的路径即可,这个针对的是WebDriver实例的,如果是用的是RemoteWebDriver实例,那么你可能还需要设置一个属性如下(它的用途是可以识别运行的server端文件的文件为远程执行机器的路径,所以你可以直接上传文件):

driver.setFileDetector(new LocalFileDetector());
driver=new RemoteWebDriver("",capability);

 

你可能感兴趣的:(selenium)