我正在尝试使用Selenium和Firefox Headless从特定的网站下载XML文件,但没有成功。
此外,如果可能,我需要将已下载的文件保存到特定文件夹中。
有人可以帮助我吗?
在这里我初始化Firefox驱动程序:
public static FirefoxDriver callFirefox()
{
FirefoxOptions options = new FirefoxOptions();
options.AddArgument("--headless");
FirefoxDriver firefox = new FirefoxDriver(options);
return firefox;
}
这是代码的另一部分:
static void Main(string[] args)
{
try
{
var ff = callFirefox();
IJavaScriptExecutor js = (IJavaScriptExecutor)ff;
ff.Navigate().GoToUrl("http://tracking.estrada.com.br/index.asp");
Thread.Sleep(1000);
ff.FindElementById("usuario").SendKeys("XXXXXXX");
ff.FindElementByName("senha").SendKeys("XXXXXXX");
js.ExecuteScript("submitform();");
Thread.Sleep(2000);
//CHANGE THE FRAME
ff.SwitchTo().Frame(0);
ff.FindElements(By.Id("f_dataini")).FirstOrDefault().SendKeys("20122018");
ff.FindElements(By.Id("f_datafin")).FirstOrDefault().SendKeys("26122018");
js.ExecuteScript("Exportar_XML();");
Console.WriteLine("CONCLUIDO");
}
catch (Exception ex)
{
Console.WriteLine("ERROR: " + ex.Message);
}
}
在此网站上,执行功能js.ExecuteScript("Exportar_XML();");
后,浏览器开始下载XML文件。