testing - 使用 webdriver 上传文件

标签 testing selenium selenium-webdriver automation automated-tests

我尝试使用代码上传照片

driver.findElement(By.xpath("xpath")).sendKeys("C:\\Users\\path\\ben.jpg");

但是图片没有上传。

上传按钮的html是

<button id="upfile1" class="buttonclass" style="cursor: pointer" type="button"> Choose Photo</button>

还有其他上传图片的方法吗?我也尝试过使用 WebElement。我需要 JAVA 中的解决方案。

最佳答案

我可以用

driver.findElement(By.id("upfile1")).click();
    Thread.sleep(2000);
    StringSelection ss = new StringSelection("C:\\Users\\logo1.jpg");
    Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_V);
    robot.keyRelease(KeyEvent.VK_CONTROL);
    robot.keyRelease(KeyEvent.VK_V);
    robot.keyPress(KeyEvent.VK_ENTER);
    robot.keyRelease(KeyEvent.VK_ENTER);

但是除了使用机器人之外,还有其他简单的方法可以达到同样的效果吗?

关于testing - 使用 webdriver 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25074947/

相关文章:

testing - 如何检查集成测试中的持久数据

python - 无法使用 webdriver 从 xpath 拆分一个单元格的表中获取数据

django - 我可以为 Django 测试设置一个数据库吗?

node.js - 需要在 node.js 中测试

HTML - 使用 DocType 集进行本地测试

Python,selenium - 如何刷新页面直到找到项目?

java - 在 Selenium Webdriver 出现 Element Not Visible Exception 后继续运行后续步骤

javascript - Selebiun 爬虫超时问题 C#

java - 基于用户输入的下拉菜单

java - Selenium WebDriver 2.53 - 设置 Firefox 可执行路径