java – 无需浏览器即可自动将文件上传到站点
发布时间:2020-12-15 03:00:36 所属栏目:Java 来源:网络整理
导读:我在测试脚本上工作,自动将文件上传到站点并以无头模式执行脚本.它需要逐个上传文件列表,我是基于Selenium WebDriver开发的.我使用AutoIT脚本来处理对话窗口,文件选择器窗口.参数$CmdLine [1]包含实际文件的路径. ControlFocus("Open a file","","Edit1")Con
我在测试脚本上工作,自动将文件上传到站点并以无头模式执行脚本.它需要逐个上传文件列表,我是基于Selenium WebDriver开发的.我使用AutoIT脚本来处理对话窗口,文件选择器窗口.参数$CmdLine [1]包含实际文件的路径.
ControlFocus("Open a file","","Edit1") ControlSetText("Open a file","Edit1",$CmdLine[1]) ControlClick("Open a file","Button1") 它使用以下代码执行: Runtime.getRuntime().exec(autoITExecutable); 它会打开对话框窗口,因此如果不关注浏览器窗口就无法工作. java.awt.Robot类的工作原理类似,它需要关注浏览器窗口. 我也尝试使用sendKeys()方法,但输入字段无法以这种方式处理文件. Katalon Studio也无法处理这个领域. 具有类似形式的示例网站: http://ajaxuploader.com/demo/simple-upload.aspx https://ec.europa.eu/cefdigital/DSS/webapp-demo/validation https://tus.io/demo.html 解决方法
您可以尝试以下代码:
// wait for the window to appear WebDriverWait wait = new WebDriverWait(driver,10); wait.until(ExpectedConditions.alertIsPresent()); // switch to the file upload window Alert alert = driver.switchTo().alert(); // enter the filename alert.sendKeys(fileName); // hit enter Robot r = new Robot(); r.keyPress(KeyEvent.VK_ENTER); r.keyRelease(KeyEvent.VK_ENTER); // switch back driver.switchTo().activeElement(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读