如何解决硒 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 举报,一经查实,本站将立刻删除。