我试图使用selenium chromedriver浏览器进行报废,我发现该页面获取了我想要的信息并且仍在加载。我不等所有时间,所以是否有一个函数来停止加载页面并完成剩下的代码?
ChromeDriver CD = new ChromeDriver();
CD.Navigate().GoToUrl(URL);
//Complete the code after two seconds from calling the Navigate function
//and stop the loading process of the selenium browser
CD.FindElementByXPath("//*[@id=\"signup-form\"]/div[6]").Click();
我尝试使用这段代码,但它崩溃了我想要程序完成的程序而没有超时的selenium浏览器。
CD.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(5);
感谢阅读。
答案 0 :(得分:0)
它不是硒,它的网站很慢。如果您想废弃网站,请查看机器人,因为当加载selenium时,它将加载所有资产,如图像,css,js等。
例如,Abot可以配置为仅加载html。哪个更快。
答案 1 :(得分:0)
如果你需要的数据是在加载JS之前的html文档中,并且假设JS是需要很长时间加载的部分,你应该能够通过禁用javascript来加快加载时间,这可以完成使用浏览器配置文件。
请参阅此答案:https://stackoverflow.com/a/29160289/2386700
这实际上取决于导致缓慢负载的原因。如果是因为CSS或图像等,您可以跳过使用类似方法的那些。
浏览器配置文件允许您使用浏览器扩展程序。扩展可以在文档加载之前和之后执行它们的代码。这就是他们如何改变加载方式。
还不确定CSS /图像是否已有扩展名。但你总是可以创建一个。
如果缓慢仅仅是由于服务器本身的响应时间,那么你可以用Selenium来帮助它。