zoukankan      html  css  js  c++  java
  • 使用Selenium+PhantomJS实现网页内容加载(包括网页后期Ajax出来的结果)

    一、需求

      需要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);
    
            }
  • 相关阅读:
    linux ubuntu 中文汉化
    微信内核浏览器一些用法
    struts2解耦和获取提交的值
    html背景图片自适应
    Heroku 云服务部署流程
    mac 遇到的奇怪问题?
    h5完美实现无刷新上传并附带上传效果
    ionic 实现 应用内(webview中html页面点击) 和 应用外 (浏览器html页面点击) 打开本地安装应用
    ionic 实现微信朋友圈分享的完整开发流程
    OpenGL ES学习笔记(三)——纹理
  • 原文地址:https://www.cnblogs.com/songxingzhu/p/6932363.html
Copyright © 2011-2022 走看看