WinForm窗体程序中使用CefSharp获取加载后的资源截取request参数拦截response数据注入jquery文件和js代码-使用CefSharp

Posted 黑峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm窗体程序中使用CefSharp获取加载后的资源截取request参数拦截response数据注入jquery文件和js代码-使用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;
                });
            }
           
        }

 

以上是关于WinForm窗体程序中使用CefSharp获取加载后的资源截取request参数拦截response数据注入jquery文件和js代码-使用CefSharp的主要内容,如果未能解决你的问题,请参考以下文章

WinForm窗体程序中使用CefSharp获取加载后的资源截取request参数拦截response数据注入jquery文件和js代码-截取request参数

WinForm窗体程序中使用CefSharp获取加载后的资源截取request参数拦截response数据注入jquery文件和js代码-注入jquery文件和js代码

在winform中使用cefsharp.winform嵌入浏览器(含视频教程)

使用cefsharp在winform中嵌套浏览器,解决程序闪退问题,你也可以做一个红芯浏览器^v^

C# 可以将窗体中嵌入的cefSharp浏览器页面元素值变化做成窗体可用的事件吗?

怎么实现在Winform窗体中通过CefSharp访问一个网址,并 使当前用户携带session信息访问