从Selenium WebDriver读取“Windows文件打开”对话框中的文件名

本文关键字:对话框 文件名 文件 WebDriver Selenium 读取 Windows | 更新日期: 2023-09-27 18:24:26

我使用Selenium WebDriver+C#来处理文件上传过程。单击按钮时,将显示标准的"打开Windows文件"对话框。

我使用SendKeys将文件名指定为

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

有时在"打开文件"对话框中未正确填写文件名。在这种情况下,我想读取在文件名中输入的值。我如何在C#中做到这一点?是否有类似SendKeys 的GetKeys方法

从Selenium WebDriver读取“Windows文件打开”对话框中的文件名

没有可输入文件路径的文本框。用户单击"上传文件"按钮。单击此按钮后,标准的Windows文件打开对话框就会出现

这可能取决于您使用的浏览器,但通常如果您使用SendKeys(文件路径),它应该可以工作。windows打开对话框的作用是,它只是为您提供了一种更方便用户输入文件路径的方式。在那之后,它很可能会在UI元素中显示文件路径。因此,您可以简单地使用元素的定位器来尝试SendKeys,而不是SendWait。