Winform 通过 WebBrowser 与 JS 交互】的更多相关文章

Winform 通过 WebBrowser 与 JS 交互 魏刘宏 2019.08.17 之前在使用 Cef (可在 Winform 或 WPF 程序中嵌入 Chrome 内核的网页浏览器的组件)时,使用过在 C# 代码中调用网页 JS 的功能,以为是 Cef 独有的,最近工作中得知,原来 Winform 自带的浏览器控件 WebBrowser 中也有这个功能,那么我们就来看看吧. 我们先建一个 Winform 窗体 FormBrowserJs: 其中左侧是一个 WebBrowser 控件,右边…
方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址   http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D05FCF37-4D9F-4769-9442-0BCEEF907033 或者点击此处下载 Interop.MSScriptControl.dll 2.项目中引用 msscript.ocx 或者 Interop.MSScriptCon…
一.实现WebBrowser内部跳转,阻止默认打开IE 1.引用封装好的WebBrowserLinkSelf.dll实现 public partial class MainWindow : Window { private WebBrowser webBrowser = new WebBrowser(); public MainWindow() { InitializeComponent(); this.webBrowser.LoadCompleted += new LoadCompletedE…
1:窗体加载的时候添加 webBrowser.RegisterJsObject("getuserName", new _Event()); 2:注册C#方法为js方法 /// /// 点击登录获取用户名 /// public class _Event { public string getName(string userName) { MessageBox.Show(userName); return userName; } } 3:js调用 $(function () { $(&qu…
今天在做一个项目的时候需要用c#搞一个webbrowser,然后有些地方还需要与js交互.所以就查了一下资料,发现很多博客提到了但是却没有说下具体的操作.所以我就写一下. 开发环境是Visual Studio 2008 .阅读此文需要有C#和javascript开发基础. 1.首先新建一个项目,在默认窗体form1上拖拽一个webbrowser1. 2.给form1的Load时间事件添加如下代码: private void Form1_Load(object sender, EventArgs…
本文实现了WebBrowser的简单例子 1.引用System.Windows.Froms.dll 2.引用WindowsFormsIntegration.dll 代码如下: public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)…
从winform访问webBrowser,大致就是利用webBrowser提供的解析dom的方法以及用InvokeScript方法执行javascript.这个相对比较简单. 从webBrowser访问winform,归纳出来大致4种办法: 1.利用webBrowser的Navigating事件 网页里的javascript代码: window.location.href='close'; winform里的代码: private void webBrowser1_Navigating(obje…
原文:C# winform调用WebBrowser经典怪问题总结 最近一直研究网页数据采集,单单采集数据,其实HtmlAgilityPack就足够了. 对HtmlAgilityPack感兴趣的可以到这里看看:C#采集代理服务器ip并设置IE代理--HtmlAgilityPack实战代码但是有个问题:要是想要模拟人工输入数据,进行表单提交HtmlAgilityPack就办不了,Skybound.Gecko(firfox的.net开源代码) 也办不了这个事情.Skybound.Gecko不支持点击,…
1)安装cefsharp.winform包 打开VS2017,打开nuget,找到cefsharp.winform,安装 问:为什么wpf程序不使用cefsharp.wpf? 答:因为cefwpf 49版本的bug很多,而winform_cef就比较靠谱,比如在不同的输入法切换后无法输入中文 问:那为什么不使用更高版本的cefwpf? 答:因为要支持XP,而49版本是cef_wpf能支持XP的最高版本 哦,业界毒瘤 --XP和IE6 2):平台改成x64或者x86 因为Cefsharp没有针对A…
最近由于工作需要,研究了下Winform的WebBrowser控件,在这里给大家分享下. 1.WebBrowser导航 WebBrowser在进行导航的时候需要用到Navigate(string urlString)方法 2.执行已有的JavaScript函数 使用WebBrowser.Document.InovkeScript(string scriptName) 3.执行自定义的Javascript函数 这里需要先将自定义的Javascript写入到WebBrowser.Document.B…