使用Selenium+PhantomJS实现网页内容加载(包括网页后期Ajax出来的结果)
2017-06-02 11:09
741 查看
一、需求
需要Nuget下面的库:
二、代码
需要Nuget下面的库:
二、代码
class Program { static void Main(string[] args) { TestPhantomJsDriver(); } private static void TestPhantomJsDriver() { var service = PhantomJSDriverService.CreateDefaultService(); service.DiskCache = true; service.IgnoreSslErrors = true; service.HideCommandPromptWindow = true; service.LoadImages = false; service.LocalToRemoteUrlAccess = true; PhantomJSDriver driver = new PhantomJSDriver(service, new PhantomJSOptions(), TimeSpan.FromSeconds(120)); var nav = driver.Navigate(); try { nav.GoToUrl("http://v.youku.com/v_show/id_XMjc5MTkwNjQ5Ng==.html"); nav.Refresh(); } catch (Exception e) { Console.WriteLine("refresh exception:" + e.Message); } //WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); //try //{ // var isok = wait.Until(dr => dr.FindElement(By.XPath("span[@id='videoTotalPV']/em")) != null); // var src2 = driver.PageSource; // Console.WriteLine(src == src2); // Console.WriteLine(isok); //} //catch { } var st = driver.TakeScreenshot(); st.SaveAsFile("d:\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".jpg", ScreenshotImageFormat.Jpeg); } private static void TestChromeJsDriver() { var service = ChromeDriverService.CreateDefaultService(); service.HideCommandPromptWindow = true; ChromeDriver driver = new ChromeDriver(service, new ChromeOptions() { }, TimeSpan.FromSeconds(120)); var nav = driver.Navigate(); try { nav.GoToUrl("http://v.youku.com/v_show/id_XMjc5MTkwNjQ5Ng==.html"); nav.Refresh(); } catch (Exception e) { Console.WriteLine("refresh exception:" + e.Message); } var st = driver.TakeScreenshot(); st.SaveAsFile("d:\\" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".jpg", ScreenshotImageFormat.Jpeg); }
相关文章推荐
- python获取完整网页内容(即包括js动态加载的):selenium+phantomjs
- Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
- python+selenium+PhantomJS爬取网页动态加载内容
- Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
- ajax异步加载使用post方法时一直输出相同结果,不能实现翻页
- Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
- python+selenium+PhantomJS爬取网页动态加载内容
- Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
- 使用selenium+phantomJS实现网页爬取
- Python爬虫学习——使用selenium和phantomjs爬取js动态加载的网页
- c#关于网页内容抓取,简单爬虫的实现。(包括动态,静态的)
- c#关于网页内容抓取,简单爬虫的实现。(包括动态,静态的)
- c#关于网页内容抓取,简单爬虫的实现。(包括动态,静态的)
- [给力原创]使用jQuery-ajax仿新浪微博通知折叠/显示效果,实现数据加载(二)
- jQuery+PHP+ajax实现微博加载更多内容列表功能
- Python中使用 Selenium 实现网页截图实例
- [转载]使用Selenium2测试含有iframe的Ajax网页
- 使用jQuery和YQL,以Ajax方式加载外部内容
- Ajax 之使用 XMLHttp实现简单的异步数据加载
- location的hash部分和使用window.onhashchange实现ajax请求内容时使用浏览器后退和前进功能