微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

硒 C#文件在新窗口中打开后如何下载?

如何解决硒 C#文件在新窗口中打开后如何下载?

所以我是使用 selenium 的新手,我正在尝试使一个自动过程转到某个网站,使用凭据登录并下载文件,当我单击该按钮进行下载时出现问题,它会打开一个新的浏览器的窗口,我不知道如何让 Selenium 知道它必须转到那个新窗口。这是一个 pdf 文件,我希望它在特定路线上下载。

driver.Navigate().GoToUrl("//THIS IS THE WEBSITE URL//");
        driver.Manage().Window.Size = new System.Drawing.Size(990,1040);
        driver.SwitchTo().Frame(0);
        driver.FindElement(By.Id("//CREDENTIAL")).Click();
        driver.FindElement(By.Id("//CREDENTIAL")).SendKeys(myCredential);
        driver.FindElement(By.Id("password")).Click();
        driver.FindElement(By.Id("password")).SendKeys(myPassword);
        driver.FindElement(By.Id("userCaptcha")).Click();
        driver.FindElement(By.Id("userCaptcha")).SendKeys("captcha");
        driver.FindElement(By.Id("submit")).Click();
        vars["WindowHandles"] = driver.WindowHandles;                //till this point login is succesfull
        driver.FindElement(By.CssSelector("#formReimpAcuse\\3Aj_idt50 > .ui-button-text")).Click();   //Here is where we find the button to start download pdf in a new browser window
        //No idea of what else to do.

解决方法

要轻松下载文件,您可以禁用 pdf 查看器并告诉浏览器自动下载。

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddAdditionalCapability("download.default_directory","YOUR_DOWNLOAD_DIRECTORY");
chromeOptions.AddAdditionalCapability("download.prompt_for_download",False);
chromeOptions.AddAdditionalCapability("download.directory_upgrade",True);
chromeOptions.AddAdditionalCapability("plugins.always_open_pdf_externally",True);


ChromeDriver driver = new ChromeDriver(options);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。