在阅读了一些网页抓取教程后尝试过使用Selenium。
目标是在Ajax调用之后(在初始页面加载后进行此ajax调用)web / screen刮取加载所需数据的页面。
第二个目标是在后台运行Selenium代码(不打开任何浏览器)以允许加载页面(包括Ajax调用),检索Final HTML并在本地执行所需的处理。
到目前为止的代码如下(来自http://www.geekonweb.com/net/web-page-scraping-using-selenium-and-net/的代码教程)
public ActionResult Index()
{
//--
//Below path should contain IEDriverServer.exe
var chrome = new ChromeDriver(@"file path");
chrome.Url = @"<url>";
chrome.Navigate();
//extract the html
//var retval = ie.ExecuteScript("return document.body.outerHTML");
string result = chrome.PageSource;
return View();
}
目前还没有找到一种方法来静默运行Selenium(没有GUI)。如果可以的话,请提供帮助。
其次请告诉我们如何告诉Selenium等待Ajax调用完成然后检索数据。
的问候,
答案 0 :(得分:1)
以下是关于how to wait until an element is present的问题。这样做是为了等待AJAX。
以下是有关天气的问题run selenium headless。