webbrowser 修改页面元素操作

2024-03-14 22:48

本文主要是介绍webbrowser 修改页面元素操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

     mshtml  WebBrowser 类:

    1. WebBrowser_V1Class ,继承自IWebBrowser, WebBrowser_V1, DWebBrowserEvents_Event, IWebBrowser2, DWebBrowserEvents2_Event。

    2.WebBrowserClass类,继承自 IWebBrowser2, WebBrowser, DWebBrowserEvents2_Event, IWebBrowser, DWebBrowserEvents_Event


     mshtml WebBrowser 接口

    1.WebBrowser接口继承自 IWebBrowser2, DWebBrowserEvents2_Event,几乎包含了所有的webbrowser 方法和事件以及属性。

    2.WebBrowser_V1接口继承自IWebBrowser, DWebBrowserEvents_Event比webbrowser接口低一个档次 。


    用法:mshtml webbrowser  类需要托管的方法CreateWrapperOfType来进行相应的COM 组件封装,而接口则可直接应用


    例子:更改百度输入框

            webBrowser1.Navigate(@"http://www.baidu.com/");
            while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) System.Windows.Forms.Application.DoEvents();       
              HtmlElement cmd = webBrowser1.Document.GetElementById("kw");

            mshtml.IHTMLElement2 iht2 = (mshtml.IHTMLElement2)(cmd.DomElement);
            ement = (mshtml.HTMLInputElementClass)(cmd.DomElement);

            mshtml.IHTMLStyle style=ement.style;//获取到样式接口
            ement.select();
            style.height =10;  
            ement.height = 10;
            ement.value = "金庸江湖";
            style.background = "FFF8DC";

     以上效果修改加载后百度输入框的前景色,大小,和样式等。

 

    //(webBrowser1.ActiveXInstance as SHDocVw.WebBrowser_V1).NewWindow+=new    SHDocVw.DWebBrowserEvents_NewWindowEventHandler(Form3_NewWindow);
         
            (webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).NewWindow2 += new SHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(Form3_NewWindow2);


            IHTMLElement2 ht2 = webBrowser1.Document.GetElementById("kw").DomElement as IHTMLElement2;
            


            HTMLInputElementClass ement = (mshtml.HTMLInputElementClass)ht2;


            ement.HTMLInputTextElementEvents_Event_onclick+=new HTMLInputTextElementEvents_onclickEventHandler(ement_HTMLInputTextElementEvents_Event_onclick);


            ement.HTMLInputTextElementEvents_Event_onmouseover+=new HTMLInputTextElementEvents_onmouseoverEventHandler(ement_HTMLInputTextElementEvents_Event_onmouseover);


            //MessageBox.Show(ht2.scrollHeight.ToString());
            //mshtml.HTMLDocumentEvents_Event et = ht2 as mshtml.HTMLDocumentEvents_Event; Document事件用webbrowser.document来初始化或者实例化
            //input事件用intput标记的元素实例化或者初始化
            //et.onclick+=new HTMLDocumentEvents_onclickEventHandler(et_onclick);

    

  

      

这篇关于webbrowser 修改页面元素操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/809964

相关文章

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Java Multimap实现类与操作的具体示例

《JavaMultimap实现类与操作的具体示例》Multimap出现在Google的Guava库中,它为Java提供了更加灵活的集合操作,:本文主要介绍JavaMultimap实现类与操作的... 目录一、Multimap 概述Multimap 主要特点:二、Multimap 实现类1. ListMult

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.