我有一个程序,它使用WebDriver浏览网页并做一些事情。我遇到了问题:当我需要在文件选择窗口中选择文件时。我知道有一个AutoIt可以做到。但有两点:
如果第一点很好(因为AutoIt的安装程序很常见且可以理解),第二点会造成困难,因为我的程序用户不会打开regedit并深入研究它(即使修改上述步骤也是如此)问题很简单。)
所以,我想做同样的事,但不使用其他程序。我只知道我可以使用
[DllImport("user32.dll")]
//here's should be name of the function to import
但是怎么样?
任何人都可以帮我弄清楚如何完成这项任务:
这就是我所需要的一切。
以下是我使用AutoIt的代码示例:
using AutoItX3Lib;
AutoItX3 autoIt = new AutoItX3();
autoIt.WinActivate("File Upload");
Thread.Sleep(1000);
autoIt.Send(@"file's location");
Thread.Sleep(1000);
autoIt.Send("{ENTER}");
答案 0 :(得分:1)
这些步骤可以帮助您使用AutoIT:
使用Selenium代码中的exe文件获取选择文件的帮助。
public class FileUploadAutoIT {
public void testFileUpload() throws Exception
{
System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("file:///C:/Utility/Resources/fileupload.html");
driver.findElement(By.xpath(".//*[@id='1']")).click();
Thread.sleep(5000);
Runtime.getRuntime().exec("C:\\Utility\\Resources\\AutoIT\\Fileupload.exe");
//Continue with your regular Selenium scripts
}
}
现在您回到网页上,让Selenium执行其他任务。
如果这有助于您,请告诉我。