【发布时间】:2022-01-30 05:24:59
【问题描述】:
我正在开发一个使用 Selenium 和 ChromeDriver 自动将文件提交到网站的工具。
通常使用 Selenium 上传文件很容易,因为您只需将信息提供给 <input type="file"> 元素即可。但是,在这种情况下,我正在使用具有自定义文件上传按钮的网站,页面上的任何位置都没有 <input type="file">,并且在文件上传对话框中选择文件后立即上传(如下所示):
因此,我唯一的选择是让 Selenium 单击自定义上传按钮并控制文件对话框。但我无法弄清楚如何做到这一点。如何使用 Selenium 控制操作系统/浏览器文件上传对话框?
我看到this SO question 似乎不适用于我,因为他们在页面上有<input type="file"> 并试图触发上传对话框,但我没有那个元素,我没有问题触发对话框,我的问题是一旦打开对话框就控制它。我还阅读了关于上传多个文件的几个关于 SO 的问题,但没有一个信息可以帮助我解决我的情况。
【问题讨论】:
-
Selenium 使用什么绑定语言?我的意思是你使用的是什么编码语言?
-
@Prophet 我正在使用 C#
-
@ScriptDeveloper 该网站没有文件的拖放区。它是一个按钮(
<button type="button">),触发一些打开文件对话框的 JS。 -
您可以尝试使用 AutoIt 和 C# 来尝试上传文件。
标签: selenium file-upload upload selenium-chromedriver