Selenium WebDriver 上传文件 C#

本文关键字:文件 WebDriver Selenium | 更新日期: 2023-09-27 18:32:00

>我在使用硒驱动程序将文件上传到 Web 系统时遇到问题。因此,在我的页面中,我没有任何输入来设置文件路径,我在网络中建立的大多数解决方案都不适合我。我必须单击上传文件按钮,然后在窗口对话框中设置文件的路径。我找到了从winforms发送密钥类中使用的方法:

SendKeys.SendWait(filePath);
SendKeys.SendWait(@"{Enter}");

它可以工作,但只有当测试完全控制机器时(如果没有 - 路径已发送到某个地方而不是对话框)。这就是问题所在,因为我无法完全控制运行测试的计算机。你知道一种方法吗 上传文件不使用发送密钥?

Selenium WebDriver 上传文件 C#

可能我解决了这个问题。下面是 Java 中的示例,但该解决方案的要点是创建 AutoIt 脚本,然后从 C# 代码运行 exe 文件。

溶液

应该更改示例脚本,因为它仅适用于 IE:

WinWaitActive("Choose file")

该行不包括其他浏览器。例如,在Chrome上,名为"打开"的窗口。创建并编译脚本后足以调用:

Process.Start(filePath);