热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

EO.WebBrowser使用

1.使用C#自带webbrowser方式网页兼容性不太好,而且需要系统本身高版本ie。2.C#自带webbrowser对于dom元素等执行效率低下。好了下面上菜&

1.使用C#自带webbrowser方式网页兼容性不太好,而且需要系统本身高版本ie。

2.C#自带webbrowser对于dom元素等执行效率低下。

好了下面上菜:EO.WebBrowser目前版本是20.3.63 但是未使用过,目前程序使用15.1.94.2版本,此版本安装后会自动在工具箱安装webControl,webView控件。替代webbrowser则主要使用这两个控件即可,我安装了高版本的程序,未发现这两个控件,可能是姿势不对把,就安装了个低版本的。

如果安装高版本的未发现控件客尝试使用代码方式试试:

private EO.WebBrowser.WinForm.WebControl webControl1;
private EO.WebBrowser.WebView webView1;private void InitializeComponent()
{this.webControl1 = new EO.WebBrowser.WinForm.WebControl();this.webView1 = new EO.WebBrowser.WebView(); this.panel1.Controls.Add(this.webControl1);this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;this.panel1.Location = new System.Drawing.Point(3, 17);this.panel1.Name = "panel1";this.panel1.Size = new System.Drawing.Size(682, 307);this.panel1.TabIndex = 1;// // webControl1// this.webControl1.BackColor = System.Drawing.Color.White;this.webControl1.Dock = System.Windows.Forms.DockStyle.Fill;this.webControl1.Location = new System.Drawing.Point(0, 0);this.webControl1.Name = "webControl1";this.webControl1.Size = new System.Drawing.Size(682, 307);this.webControl1.TabIndex = 4;this.webControl1.Text = "webControl1";this.webControl1.WebView = this.webView1;// // webView1// this.webView1.AllowDropLoad = true;this.webView1.BeforeSendHeaders += new EO.WebBrowser.RequestEventHandler(this.webView1_BeforeSendHeaders);this.webView1.NewWindow += new EO.WebBrowser.NewWindowHandler(this.webView1_NewWindow);this.webView1.CertificateError += new EO.WebBrowser.CertificateErrorHandler(this.webView1_CertificateError);
}

 

下面详细说下这三个事件的使用:

BeforeSendHeaders在请求发送前事件:我们可以通过此请求拦截某固定请求的信息,哪些信息就不用我说了把嘿嘿。。

webView1_NewWindow这个必须要注册不然在页面中用户点击会显示异常弹窗,为什么?(因为你没付钱啊。)

webView1_CertificateError这个必须要注册不然固定时间会一直弹窗提示你没安装证书,因为你没付钱啊。

我们使用webbrowser可以很方便的获取当前登录网站的COOKIE信息,注意(webbrowser是基于ie内核,相当于你登录在IE上,如果每次不清除缓存会串。。。)EO.WebBrowser则不会

但是也面临一个问题获取登录COOKIE难搞哦。。。所以BeforeSendHeaders帮助了我们一下。

private void webView1_BeforeSendHeaders(object sender, EO.WebBrowser.RequestEventArgs e)
{var info = e.Request.COOKIEs.AllKeys;
}

 EO.Base.Runtime.Exception += new EO.Base.ExceptionEventHandler(webView1_ExceptionError);这个事件自己注册把,EO运行时异常处理。

——————————————————————————————

下面来点js的处理

string script = "document.getElementById('loginid').value";

 var info = webView1.EvalScript(script);//获取js执行的返回值,注意js执行会报错,需要进行异常处理。

 

 

 


推荐阅读
  • 利用PaddleSharp模块在C#中实现图像文字识别功能测试
    PaddleSharp 是 PaddleInferenceCAPI 的 C# 封装库,适用于 Windows (x64)、NVIDIA GPU 和 Linux (Ubuntu 20.04) 等平台。本文详细介绍了如何使用 PaddleSharp 在 C# 环境中实现图像文字识别功能,并进行了全面的功能测试,验证了其在多种硬件配置下的稳定性和准确性。 ... [详细]
  • 在进行前端JavaScript国际化(i18n)的过程中,为了从cookie中获取语言信息并动态加载相应资源,我决定将语言检测逻辑和i18n初始化代码直接嵌入到index页面中,使用了Velocity模板引擎的语法。这种方法不仅简化了代码结构,还提高了语言切换的灵活性和响应速度。 ... [详细]
  • 在前一篇文章中,我们介绍了如何使用Requests库发送GET请求。本文将深入探讨如何通过Requests库发送POST请求,包括参数格式、请求封装等关键技巧,并通过“历史上的今天”API实例进行详细说明。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 通过优化动态网络Cookies的全网互通机制,实现了用户在任意子站点的登录和注销操作均能同步至整个网络。具体实现涉及对三个关键文件的修改:首先,在`incDv_ClsMain.asp`中定位并调整`Response.Cookies`的相关设置;其次,更新`global.asa`以确保会话状态的一致性;最后,修改`login.asp`以支持跨域认证。这一改进不仅提升了用户体验,还增强了系统的安全性和可靠性。 ... [详细]
  • Java测试服务器调试指南详细介绍了如何进行远程调试,并深入解析了Java Xdebug参数的使用方法。本文首先概述了Java内置的调试功能,重点介绍了JDB这一类似于GDB的强大调试工具。通过实例演示,读者可以掌握在测试环境中高效调试Java应用程序的技巧,包括配置远程调试环境和优化调试参数,以提高开发效率和代码质量。 ... [详细]
  • 在PHP的设计中,预定义了9个超级全局变量、8个魔术变量和13个魔术函数,这些变量和函数无需声明即可在脚本的任意位置使用。这些特性在PHP开发中极为常见,能够显著提升开发效率和代码的灵活性。相比之下,Java并没有类似的内置机制,但通过其他方式如上下文对象和反射机制,也可以实现类似的功能。本文将详细探讨这两种语言中这些特殊变量和函数的使用方法及其应用场景。 ... [详细]
  • 在基于.NET框架的分层架构实践中,为了实现各层之间的松散耦合,本文详细探讨了依赖注入(DI)和控制反转(IoC)容器的设计与实现。通过合理的依赖管理和对象创建,确保了各层之间的单向调用关系,从而提高了系统的可维护性和扩展性。此外,文章还介绍了几种常见的IoC容器实现方式及其应用场景,为开发者提供了实用的参考。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • 本文深入探讨了 MXOTDLL.dll 在 C# 环境中的应用与优化策略。针对近期公司从某生物技术供应商采购的指纹识别设备,该设备提供的 DLL 文件是用 C 语言编写的。为了更好地集成到现有的 C# 系统中,我们对原生的 C 语言 DLL 进行了封装,并利用 C# 的互操作性功能实现了高效调用。此外,文章还详细分析了在实际应用中可能遇到的性能瓶颈,并提出了一系列优化措施,以确保系统的稳定性和高效运行。 ... [详细]
  • 本课程详细介绍了如何使用Python Flask框架从零开始构建鱼书应用,涵盖高级编程技巧和实战项目。通过视频教学,学员将学习到Flask的高效用法,包括数据库事务处理和书籍交易模型的实现。特别感谢AI资源网提供的课程下载支持。 ... [详细]
  • HTML5 Web存储技术是许多开发者青睐本地应用程序的重要原因之一,因为它能够实现在客户端本地存储数据。HTML5通过引入Web Storage API,使得Web应用程序能够在浏览器中高效地存储数据,从而提升了应用的性能和用户体验。相较于传统的Cookie机制,Web Storage不仅提供了更大的存储容量,还简化了数据管理和访问的方式。本文将从基础概念、关键技术到实际应用,全面解析HTML5 Web存储技术,帮助读者深入了解其工作原理和应用场景。 ... [详细]
  • 深入浅出解析HTTP协议的核心功能与应用
    前言——协议是指预先设定的通信规则,确保双方能够按照既定标准进行有效沟通,从而实现准确的信息交换。例如,驯兽师通过拍手使动物坐下,这实际上是一种预设的协议。本文将详细探讨HTTP协议的核心功能及其广泛应用,解析其在现代网络通信中的重要作用。 ... [详细]
author-avatar
mobiledu2502927067
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有