You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java Selenium用sendKeys传文件遇InvalidArgumentException求助

解决Java Selenium sendKeys上传文件时的文件找不到错误

针对你遇到的org.openqa.selenium.InvalidArgumentException: invalid argument: File not found错误,以下是几种排查和解决方法:

1. 检查文件名/路径拼写

仔细核对路径中的每一部分,尤其是文件名:你提供的路径里是MarketReaserch34.jpeg,注意是否存在拼写错误(比如是否应为MarketResearch34.jpeg,少了字母a)。手动在文件资源管理器中粘贴路径,确认文件实际存在。

2. 用Java文件类生成可靠路径

避免手动拼接字符串带来的转义或空格问题,使用Java的File或Paths类生成绝对路径:

// 使用File类
File uploadFile = new File("C:\\Users\\VK32827\\Updated RCL Project\\research-gtf-RLC\\DataFilesToUpload\\MarketReaserch34.jpeg");
uploadElement.sendKeys(uploadFile.getAbsolutePath());

// 或者使用Paths类(Java 7+)
Path filePath = Paths.get("C:", "Users", "VK32827", "Updated RCL Project", "research-gtf-RLC", "DataFilesToUpload", "MarketReaserch34.jpeg");
uploadElement.sendKeys(filePath.toString());

3. 处理RemoteWebDriver的跨节点文件上传

如果使用RemoteWebDriver(如Selenium Grid),本地路径在远程节点上无法直接访问。需设置LocalFileDetector让Selenium自动上传本地文件到远程节点:

((RemoteWebDriver) driver).setFileDetector(new LocalFileDetector());
// 之后再执行sendKeys上传
uploadElement.sendKeys(absoluteFilePath);

4. 验证文件权限与存在性

  • 确认文件未被移动、删除或重命名
  • 确保运行测试的用户账号拥有该文件的读取权限
  • 尝试复制文件到无空格、无特殊字符的路径(如C:\temp\test.jpeg),再测试上传

5. 升级Selenium版本

你当前使用的是4.0.0-alpha-5,这是早期测试版本,存在已知bug。建议升级到最新稳定版(如4.18.x),路径处理逻辑会更可靠。

内容的提问来源于stack exchange,提问作者Vidhyasagar Kothale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 13:09:51