Selenium WebDriver c# 是否可以附加要上传的文件

本文关键字:文件 WebDriver 是否 Selenium | 更新日期: 2023-09-27 18:37:19

我想附加一个文件进行上传。测试的一部分我正在尝试以下内容,但它不起作用

1) Enter some details into the input fields    
2) Click Browse on the Web site
3) Enter a file path in the windows popup that appears
4) Click Open on the windows popup
5) Click Apply on the Web site 
Driver.FindElement(By.Id("Name")).SendKeys(name);
Driver.FindElement(By.Id("EmailAddress")).SendKeys(email); 
Driver.FindElement(By.Id("TelephoneNumber")).SendKeys(telephone.ToString());     
Driver.FindElement(By.Name("file")).Click();    
Driver.SwitchTo().ActiveElement().SendKeys("/home/likewise-open/GLOBAL/123/Documents/filename.txt");
Driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5));
Driver.FindElement(By.Id("convertButton"));

Selenium WebDriver c# 是否可以附加要上传的文件

由于 WebDriver 只能处理基于 Web 的交互,而不能处理基于 Windows 的交互,您将需要AutoIT实用程序才能上传或下载并将其集成到Selenium脚本中。AutoIT是一个免费工具。

试试这段代码

Driver.FindElement(By.Name("yourUploadFileTextBox")).SendKeys("/home/likewise-open/GLOBAL/123/Documents/filename.txt");
Driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5));
Driver.FindElement(By.Id("convertButton"));

它会起作用。无需单击浏览按钮。只需在出现文件路径的文本框中发送密钥。