博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Selenium+PhantomJS实现网页内容加载(包括网页后期Ajax出来的结果)
阅读量:6383 次
发布时间:2019-06-23

本文共 2222 字,大约阅读时间需要 7 分钟。

一、需求

  需要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);        }

 

转载地址:http://xwzha.baihongyu.com/

你可能感兴趣的文章
Ubuntu Server 上安装 Jexus
查看>>
浏览器渲染原理及解剖浏览器内部工作原理
查看>>
not found command:svn
查看>>
addEventListener和attachEvent小结
查看>>
IPHONE 开发 4 -- 深入理解iPhone OS/SDK与Objective-C 2.0
查看>>
在windows平台下获取精确经过时间
查看>>
SQL Server的还原(2)——STOPAT
查看>>
IOS(http几种请求)
查看>>
【转】域名解析相关概念
查看>>
hdu 1232:畅通工程(数据结构,树,并查集)
查看>>
在.NET中实现彩色光标/动画光标和自定义光标[转]
查看>>
freemarker错误七
查看>>
Cocos2dx 3.x创建Layer的步骤
查看>>
ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)
查看>>
SpringMVC+easyUI CRUD 添加数据C
查看>>
本地CS的导出xls代码段
查看>>
C++数组和指针
查看>>
恭贺自己itpub和csdn双双获得专家博客称号
查看>>
xml 转map dom4j
查看>>
Vitamio视频播放器
查看>>