zoukankan      html  css  js  c++  java
  • WinForm窗体程序中使用CefSharp获取加载后的资源、截取request参数、拦截response数据、注入jquery文件和js代码(1)-使用CefSharp

    一、开发环境

    1、本机,win7 x64, .net 4.6,vs2019

    2、源码地址:源代码csdn  或者底部qq问我要。或者 百度网盘   udbk

    二、安装cefsharp

    1、新建一个winform窗体程序,从nuget中搜索cefsharp并安装

     2、修改项目属性为x86

    在解决方案上,右键鼠标,选择属性,更改项目属性为x86,没有x86选项就在图中配置管理器中新建

     

     3、重新生成项目,无错误

    三、cefsharp基本使用,初始化、加入网址浏览、关闭、获取加载后的资源

    1、初始化

            public static string url = "https://www.baidu.com";//设置进入网页
            public ChromiumWebBrowser browser = new ChromiumWebBrowser(url);//初始化cefsharp浏览器
            public Form1()
            {
                InitializeComponent();
    
                browser.Dock = DockStyle.Fill;//设置填充满窗体
                this.Controls.Add(browser);//把cefsharp加入到窗体中
            }

    运行,就展示了百度的首页

     2、关闭事件

    在窗体的关闭事件中,要释放cefsharp的资源

     private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                CefSharp.Cef.Shutdown();
            }

     3、获取加载后的资源。在浏览器FrameLoadEnd事件中处理

     public void Init(string url, int? insertIndex = null)
            {
                browser.Dock = DockStyle.Fill;
               
                panbrowser.Controls.Add(browser);
                browser.RequestHandler = new WinFormsRequestHandler(Init);
               
                browser.FrameLoadEnd += webBrowser_FrameLoadEndEventArgs;
            }
            /// <summary>
            /// 页面加载完成
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void webBrowser_FrameLoadEndEventArgs(object sender, FrameLoadEndEventArgs e)
            {
                string htmlstr = string.Empty;
                if (e.Frame.IsMain)
                {
                    browser.GetSourceAsync().ContinueWith(taskHtml =>
                    {
                        htmlstr = taskHtml.Result;
                    });
                }
               
            }
  • 相关阅读:
    如何通过cocosStudio将plist大图拆分成原来的小图
    斯坦福大学深度学习视频(CS231n课程)
    杂谈——杭州考驾照历程
    机器学习基础自学笔记2
    深度学习笔记1
    GAN学习指南:从原理入门到制作生成Demo
    GAN实现半监督学习
    无监督深度学习图像分类思路
    无监督学习:从基本概念到四种实现模型
    深度学习-无监督
  • 原文地址:https://www.cnblogs.com/heifengwll/p/13277153.html
Copyright © 2011-2022 走看看