C#中CefSharp的简单使用

CefSharp入门-winform CefSharp支持HTML,CSS,JavaScript,可以在CS中像web网站那样操作。与winform中自带的webBrowser一样,只是CefSharp是独立的,基于Chrome浏览器,而webBrowser基于IE浏览器。现在简单的体验一下效果。这里使用高版本的话,会出现黑屏的问题。只有此版本目前不会,而且小于此版本的也不会出现黑屏(经过大量的测试而知)在nuget中,下载cefsharp,选择版本是。项目选择.NETFramework4.8框架。3.主界面中,增加以下代码。...... 阅读详情

2019/5/14更新 使用Nuget包引入的方式创建CefSharp项目



以下为原文

##准备工作##

1. 创建32位winform项目 必须指定32位或64位 这里使用32位
2. 下载CefSharp相关文件
3. 复制CefSharp相关文件到项目debug目录并添加引用


###1.创建项目###
关键步骤是项目必须是32位
这里写图片描述


###2.CefSharp相关文件###

可以直接通过NuGet程序包直接导入,本人为了图方便直接将用到的文件打包,新建项目时解压到debug目录就行

压缩包下载链接 密码:5n49

包内文件如下:
这里写图片描述
全都复制到Debug目录就行


###3.在项目中引用###
懒人方法:直接选中目录下所有dll文件添加:

不用管后面的错误提示

引用成功后实际引用的DLL如图:
这里写图片描述


###4.简单页面跳转###

  • 先画个界面
    这里写图片描述

-实现页面跳转功能
实现方式很简单

引用名空间

using System;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;

声明变量

ChromiumWebBrowser CWebBrowser;

调用

        private void button1_Click(object sender, EventArgs e)
        {
            CWebBrowser = new ChromiumWebBrowser(textBox1.Text);
            panel1.Controls.Add(CWebBrowser);
        }

执行结果:
这里写图片描述

可以加载很多原生webbrowser不能加载的内容 可以适应iframe

其他相关操作

###5.获得页面源代码###
代码

       private void button2_Click(object sender, EventArgs e)
        {
            String html =  WebBrowser.GetSourceAsync().Result;
            richTextBox1.Text = html;
        }

*注意GetSourceAsync方法是异步操作 *

效果
这里写图片描述

###6.判断页面加载完成###

页面加载完成后会触发FrameLoadEnd事件

代码

        private void button1_Click(object sender, EventArgs e)
        {
            WebBrowser = new ChromiumWebBrowser(textBox1.Text);
            panel2.Controls.Add(WebBrowser);
            WebBrowser.FrameLoadEnd += new EventHandler<FrameLoadEndEventArgs>(FrameEndFunc);

        }

        private void FrameEndFunc(object sender, FrameLoadEndEventArgs e)
        {
            MessageBox.Show("加载完毕");
            this.BeginInvoke(new Action(() => {
                String html = WebBrowser.GetSourceAsync().Result;
                richTextBox1.Text = html;
            }));
        }

注意使用WebBrowser.GetSourceAsync().Result会阻塞当前线程

运行效果
这里写图片描述

###6.执行页面中的js函数###

测试js代码

<html>
<body>
<button type="button" onclick="test(1,2)">测试按钮</button>
</body>
<script type="text/javascript">
function test(a,b)
{
var c = testfunc(a,b);
	alert(c);
}
function testfunc(a,b)
{
	return a+b;
}
</script>
<html>

测试功能:

调用页面中的testfunc函数

C# 代码

        private void button3_Click(object sender, EventArgs e)
        {
            WebBrowser.FrameLoadEnd += new EventHandler<FrameLoadEndEventArgs>(FrameEndFunc);
            using (StreamReader sr = new StreamReader("cefsharptext.html"))
            {
                string html = sr.ReadToEnd();
                WebBrowser.LoadHtml(html, "http://testpage/");
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            String script = "testfunc(99,1)";
            var result = this.WebBrowser.EvaluateScriptAsync(script).Result.Result;
            MessageBox.Show(result.ToString());
        }

执行效果:
这里写图片描述

##总结##

CefSharp是一个功能很强大的浏览器控件,本人从事爬虫相关工作,合理利用cefsharp便捷执行js代码的功能,可以绕过一些前端的加密混淆代码 代码比较简单就不上传了 有需要的朋友可以联系我


忘记放联系方式了
关注公众号回复"CefSharp"即获得项目下载地址(免费)
或直接下载(5积分)
在这里插入图片描述

Cefsharp js调用c#与c#调用js 原文地址出:https://github.com/cefsharp/CefSharp/issues/2246在cefsharp63.02版本下注册绑定事件需要在绑定事件之前申明这段代码。否则不能绑定、报错;CefSharpSettings.LegacyJavascriptBindingEnabled = true工程文件与文章(https://www.2cto.com/kf/201801/7130... 阅读详情

相关推荐

C# 使用CefSharp浏览器,获取登录后的cookie

有些时候,一些网站使用post登录获取cookie很难,那么这时候我们可以使用浏览器来完成这项工作。第一步NuGet安装cefsharp。第四步登录,我这里手动登录。第五步获取登录后cookie。第三步用浏览器打开网页。...

cyberarmy的专栏 5816

C# (江湖熟手)- Cefsharp 的使用(几行代码写个浏览器)

C# (江湖熟手)- Cefsharp 的使用(几行代码写个浏览器)

qq_25702235的博客 7182

CefSharp框架的C#使用

CEF框架: Chromium嵌入式框架, Chromium Embedded Framework Chromium Embedded Framework (CEF)是个基于Google Chromium项目的开源Web browser控件,支持Windows, Linux, Mac平台。除了提供C/C++接口外,也有其他语言的移植版。 因为基于Chromium,所以CEF支持Webkit& Chrome中实现的HTML5的特性,并且在性能上面,也比较接近Chrome。 CEF还提供的如.

ylq1045的专栏 2581

C#使用CefSharp内嵌网页-并给出C#与JS的交互示例

大家好,我是沙漠尽头的狼。本文介绍C# WPF里怎么使用CefSharp嵌入一个网页,并给出一个简单示例演示C#和网页(JS)的交互实现。一、示例搭建步骤先给出本文示例代码:WpfWithCefSharpDemo[1]。1. 创建项目创建一个WPF项目,比如命名为“WpfWithCefSharpDemo”,Winform项目类似。2. 创建一个网页嵌入的网页可以是在线的(即给出一个URL),也可以...

farway000的博客 2951

cefsharp右键下载图片、复制图片、复制图片地址、下载等

扩展: 图片及其他文件类型的下载,复制地址,另存为等 bool IContextMenuHandler.OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags) {

无线智能模块 可视DIY智能专家 1722

用XiliumCefGlue做浏览器,JS和C#相互调用。

XiliumCefGlue初始化,c#与JS代码互调代码。已经验证! 文档说明 http://blog.youkuaiyun.com/u013564470/article/details/78395984

C# Cefsharp 怎么获得当前url

C#自带的webBrowser可以直接用webBrowser.Url获得当前页的URL 但是使用CefSharp内核,资源下载该怎么获得当前页的URL 求大神告知 ChromiumWebBrowser.Address 这是WPF的,没用,我自己找到方法了 方法贴出来啊 这个取不到,调试的时候可以看到Address,但代码运行的时候无法取出。 我找到办法了,虽然是去年的问题,但是回答一下...

liuji0517的博客 2728

特斯拉Model 3 BMS主控板拆解:从硬件设计到热管理策略的实战解析

本文深度拆解特斯拉Model 3的BMS主控板,解析其硬件架构与热管理协同策略。文章聚焦于主控板的分区布局、双核MCU的智慧分工,以及从被动监控到主动干预的热管理范式转变,揭示了特斯拉在高压安全、实时控制与系统级工程思维上的设计哲学。

zz67890的博客 593

【一】C# 基于WPF 使用CefSharp来做万能爬虫

目录 【一】C# 基于WPF 使用CefSharp来做万能爬虫 【二】C# 基于WPF 使用CefSharp来做万能爬虫 【三】C# 基于WPF 使用CefSharp来做万能爬虫 【四】C# 基于WPF 使用CefSharp来做万能爬虫---扩展 一个httpClient访问辅助类可设置代理 安装CefSharp,并开始使用 第一步:安装CefSh...

猴子_net的博客 7599

软考29-上午题-【数据结构】-排序

数据结构7种排序

qq_31532983的博客 1579

Comsol单层焊缝焊接数值模拟:温度场与应力场全流程解析

在工程制造领域,有限元模拟是研究焊接热-力行为、优化工艺参数的重要工具。焊接过程涉及强烈的局部加热和快速冷却,材料经历复杂的非线性和相变,必须通过瞬态分析和热-力顺序耦合,才能准确捕捉移动热源作用下的温度演化与应力塑性积累。这一技术广泛应用于压力容器、船舶结构、车辆制造等场景,用以预测残余应力与变形、评估冷裂纹风险,并为工艺设计提供定量支撑。焊接数值模拟能否真正指导实践,关键在于热源校核、随温度变化的材料参数、合理的边界条件与网格策略。单层焊缝作为焊接模拟的基础模型,涵盖了移动热源加载、熔池形成、高温软化与

weixin_30444111的博客 220

[CefSharp] 如何在JavaScript中调用C#代码

本例在WinForms下实现,具体流程与WPF一致。 本例仅供调用示例,不代表正常业务书写流程。 1. 创建WinForms项目,并将项目属性设置为x86平台 此处预先设置,避免引用时报错,再花更多的时间去改平台。 若有其他需求,可参考官方any cpu解决方案。 2. 首先项目中引用 CefSharp.WinForms 3. 创建一个简单的HTML文件 <button onc...

angao6457的博客 2881

AI安全护栏评测:TrustedExecBench如何量化评估大模型防护能力

在人工智能和机器学习领域,模型安全对齐是确保AI系统可靠、可控的核心技术。其原理是通过设计安全机制(即“护栏”)来约束模型行为,防止生成有害、偏见或越界内容。这项技术的核心价值在于平衡AI能力与风险管控,是可信AI部署的基石。应用场景广泛覆盖内容审核、对话系统、代码生成等需要人机交互的领域。本文聚焦的TrustedExecBench项目,正是针对“护栏”性能量化评估这一痛点,提供了一个标准化、自动化的开源评测框架。该工具通过构建多维度的恶意测试套件,并引入基于模型的动态评判机制,能够系统性地检验大语言模型在

weixin_42525428的博客 378

C#关于Windows操作CefSharp

C#关于Windows操作CefSharp关于使用的引用右键菜单弹出窗体右键菜单和弹出窗体的完整使用方法JS调用C#C#调用JS 关于 使用到的: 库CefSharp,C#,Windows 使用到的: 控件Form,ChromiumWebBrowser,TabControl,Panel 使用的引用 using CefSharp; using CefSharp.WinForms; using System; using System.Collections.Generic; using Syste

weixin_47265787的博客 1129

innovus:streamOut gds中pg text带有冒号(:)解决办法

streamOut后查看layout,发现部分PG text后面加了冒号,比如VDD: / VSS:。当然,这个问题还有另一种解决办法,就是通过脚本给terminal打text再streamOut。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1190

1篇1章4节:生成对抗网络GAN和图像生成领域的StyleGAN

AI图像生成技术的革命性突破:从GAN到StyleGAN 近年来,人工智能在图像生成领域取得显著进展,尤其是生成对抗网络(GAN)的发展推动了技术的飞跃。从早期的基础GAN到渐进式GAN(Progressive GAN),再到革命性的StyleGAN,AI生成图像的逼真度已接近人类创作水平。StyleGAN通过引入风格潜向量和自适应实例归一化,实现了对图像风格与内容的精细控制,广泛应用于人脸生成、艺术创作及影视行业。后续的StyleGAN2解决了“斑点”问题,StyleGAN3进一步优化纹理过渡,提升了图像

MD Code 213

C#下Winform下使用WebKit、Geckofx、CefSharp对比及CefSharp代码实现

C#Winform下使用WebKit、Geckofx、CefSharp对比及CefSharp代码实现使用visual studio 2021自带的NuGet程序包管理器安装CefSharp 使用winform项目实现类似浏览器开发,获取页面html元数据,并实现操作可以使用以下几个组件: 浏览器 内核 兼容 获取cookies VS自带webBrowser IE 最差 不全 WebKit Firefox 一般 不全 Geckofx Firefox 好 不全 CefSharp ch

u011930054的博客 6391

在ros中进行多传感器融合定位

ROS 中的 robots_localization 包是一个非常有用的包,可以使用各种卡尔曼滤波器融合任意数量的传感器!我们将使用它将全局姿势数据(x、y、z 和orientation)与机器人上的现有传感器融合,以实现更强大的定位!

如果想成为中心,那么就到中心去吧。 3000

CefSharp内核浏览器之C#与js的互相调用

CefSharp内核浏览器之C#与js的互相调用js调用C#方法1.注册js调用对象2.创建JS类3. HTML网页js调用C#调用js方法1. html写法2. C#调用 js调用C#方法 1.注册js调用对象 这是新版的注册方法,旧注册方法已经过时,官方已经抛弃,所以按照最新的写法,详情请查看https://github.com/cefsharp/CefSharp/issues/2990 //...

饮尽鸿爪下的雪泥的博客 8001

华为od 面试八股文_Spring_03_含答案

控制反转IOC是一个很大的概念,可以用不同的方式来实现。其主要实现方式有两种:依赖注入和依赖查找依赖注入;

MISAYAONE的博客 2335

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Cefsharp C#与JS交互

1.通过Nuget引用Cefsharp 我这里引用的是83.4.20版本的 2.配置解决方案平台为x64或者x86,一定不能为AnyCpu 3.编写要传入前端的C#类,类中包含前端调用的C#后台方法 注意,js调用C#,不一定在主线程上调用的,需要用SynchronizationContext来切换到主线程 public class CSObj { private System.Threading.SynchronizationContext context; public

lishuangquan1987的博客 5861

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【三】C# 基于WPF 使用CefSharp来做万能爬虫

目录 【一】C# 基于WPF 使用CefSharp来做万能爬虫 【二】C# 基于WPF 使用CefSharp来做万能爬虫 【三】C# 基于WPF 使用CefSharp来做万能爬虫 【四】C# 基于WPF 使用CefSharp来做万能爬虫---扩展 一个httpClient访问辅助类可设置代理 分享一个对CefSharpWebrowser的操作类 ...

猴子_net的博客 5291

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【二】C# 基于WPF 使用CefSharp来做万能爬虫

目录 【一】C# 基于WPF 使用CefSharp来做万能爬虫 【二】C# 基于WPF 使用CefSharp来做万能爬虫 【三】C# 基于WPF 使用CefSharp来做万能爬虫 【四】C# 基于WPF 使用CefSharp来做万能爬虫---扩展 一个httpClient访问辅助类可设置代理​​​​​​​ 一.对浏览器进行操作 1.刷新 ...

猴子_net的博客 4183

C# WinForms使用CefSharp内嵌网页

CefSharp是一个基于Chromium的开源.NET库,可以在C#应用程序中嵌入Web浏览器。以下是使用CefSharp内嵌网页的步骤:1. 安装CefSharp NuGet包:在Visual Studio中打开NuGet包管理器,搜索并安装CefSharp.WinForms或CefSharp.Wpf,根据应用程序的类型选择相应的包。2. 创建CefSharp浏览器控件:在Windows Fo...

dotNET跨平台 1846

cefsharp javascript调用C#方法并返回参数

cefsharp javascript调用C#方法并返回参数,亲测可用

juncaixingchilove的专栏 2368
上一篇: C# 实现自动ADSL拨号
下一篇: C# Linq 的使用整理(持续更新中)
矩阵老炮
博客等级 码龄12年 150粉丝 29原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值