如何验证Selenium Webdriver C#中是否正在下载文件

时间:2019-05-28 09:26:03

标签: c# selenium download verify

如何验证正在下载的文件。我被困在单击“下载”按钮后如何检索下载的文件。

''  driver = new ChromeDriver();
        driver.Manage().Window.Maximize();
        driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
        driver.Navigate().GoToUrl("http://192.162.0.1/testing-admin/Login/Login.aspx");
        driver.FindElement(By.Id("ctl00_MainContent_ucLogin_txtUserID")).SendKeys("Jojo");
        driver.FindElement(By.Id("ctl00_MainContent_ucLogin_txtPassword")).SendKeys("Man15742368");
        driver.FindElement(By.Id("ctl00_MainContent_ucLogin_cmdLogin")).Click();
        driver.Navigate().GoToUrl("http://192.162.0.1/testing-admin/User_Document/User_Document_Download.aspx");
      driver.FindElement(By.XPath("//a[@id='ctl00_MainContent_GV_ctl02_lnkDownloadFile']")).Click(); //download button

2 个答案:

答案 0 :(得分:0)

var Path = "drive path";
ChromeOptions co = new ChromeOptions();
co.AddAdditionalCapability("download.default_directory", Path);
driver = new ChromeDriver(co);

然后,您可以使用System.IO.DirectoryInfo将所有下载的文件详细信息检索到Path文件夹中。

答案 1 :(得分:0)

我使用了它,它也可以工作。但是唯一的缩小是您必须知道下载的文件的名称。

String myDownloadFolder = @"c:\temp\";
        var options = new ChromeOptions();
        options.AddUserProfilePreference("download.default_directory", myDownloadFolder);
        driver = new ChromeDriver(options);
        driver.Navigate().GoToUrl("http://google/download/some"); // download some stuffs
        driver.FindElement(By.LinkText("Download")).Click();
        System.Threading.Thread.Sleep(10000); 
        Assert.IsTrue(File.Exists(@"c:\temp\Test.docx"));