在阅读了一些web抓取教程后,我尝试过使用Selenium。
其目的是web/屏幕抓取在Ajax调用之后加载所需数据的页面,当(此ajax调用是在初始页面加载之后进行的)..
第二个目标是在后台运行Selenium代码(不打开任何浏览器),以允许加载页面(包括Ajax调用)、检索最终的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调用完成,然后检索数据。
致以敬意,
发布于 2013-03-16 20:28:02
这里有一个关于how to wait until an element is present的问题。这样做是为了等待AJAX。
这里有一个关于是否可以run selenium headless的问题。
https://stackoverflow.com/questions/15449066
复制相似问题