如何使用Protractor在Firefox浏览器中实现多文件上传?
Firefox 多文件上传解决方案
我之前也踩过Firefox多文件上传的这个坑——Chrome里用换行符\n分隔路径的方法确实好用,但Firefox对文件路径的分隔符处理逻辑不一样,得换个方式。
核心解决方案
在Firefox中,你需要用**分号(;)**来分隔多个文件的绝对路径,而不是换行符。代码示例如下:
uploadInput.sendKeys(absolutePath1 + ";" + absolutePath2);
额外注意事项
- 确保所有文件的路径都是绝对路径,且目标文件确实存在于指定位置,否则会上传失败
- Windows系统下,路径里的反斜杠需要转义(写成
\\),或者直接用正斜杠/,比如C:\\test\\file1.png或C:/test/file1.png - 建议使用较新版本的Selenium和GeckoDriver,旧版本可能存在兼容性问题,导致分隔符不生效
如果遇到特殊场景(比如大量文件上传),也可以考虑循环逐个发送文件路径,但分号分隔的方式是最简洁高效的标准实现。
内容的提问来源于stack exchange,提问作者Jonny
相关产品推荐
相关产品推荐

