zoukankan      html  css  js  c++  java
  • WinForm webbrowser控件的使用

    WinForm webbrowser控件的使用

    科技小能手 2017-11-12 17:16:00 浏览597

    展开阅读全文

    webbrowser是一个比较实用的工具,主要用于在winform窗体中嵌入浏览器,达到winform与webform互操作的目的。

    先上一个demo,看一下能实现什么效果。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    private void Form1_Load(object sender, EventArgs e)

    {

        this.webBrowser1.Url = new Uri("http://www.baidu.com");//指定url地址为百度首页

    }

                 

    private void button1_Click(object sender, EventArgs e)

    {

        HtmlElement searchWords = webBrowser1.Document.All["kw"];//获取百度搜索的文本框

        HtmlElement searchButton = webBrowser1.Document.All["su"];//获取百度搜索的按钮

        searchWords.SetAttribute("value""guwei4037");//给百度搜索的文本框赋值

        searchButton.InvokeMember("click");//调用百度搜索按钮的点击事件

    }

    在winform中拖一个webbrowser控件,然后在相应事件中键入如上代码,就可以实现自助搜索(无需在文本框中输入关键词guwei4037,再点搜索按钮,而是直接点击一个按钮进行搜索)。

    原理很简单,就是通过查找在webbrowser控件生成的html代码中的input元素或button元素的id,通过api实现模拟赋值和查找工作。

    再附一个稍微复杂的一点的例子。

    如果生成的html比较复杂,比如含iframe这类的标签时该如何处理呢?

    比如,我们要访问qq空间里面的留言功能时,通过google chrome浏览器看到的html代码,很复杂,好在我们也有办法处理。

    1

    2

    3

    4

    private void Form1_Load(object sender, EventArgs e)

    {

        this.webBrowser1.Url = new Uri("http://user.qzone.qq.com/345822155/infocenter#!app=334&url=http%3A%2F%2Fctc.qzs.qq.com%2Fqzone%2Fmsgboard%2Fmsgbcanvas.html%23page%3D1");

    }

    1

    2

    3

    4

    5

    6

    7

    8

    private void button1_Click(object sender, EventArgs e)

    {

        if (!webBrowser1.IsBusy)//判断有没有加载新的文档

        {

            HtmlElement searchButton = webBrowser1.Document.Window.Frames["tgb"].Document.All["btnPostMsg"];//获取到iframe id为tgb下面的button

            searchButton.InvokeMember("click");

        }

    }

    更多信息,请参考:微软官方网站

  • 相关阅读:
    Python内置函数 __import__ 动态加载模块
    Django_静态资源配置和ajax(九)
    GO语言学习(五)Go 语言基础语法
    GO语言学习(四)GO语言语言结构
    GO语言学习(三)GO语言学习API文档
    GO语言学习(二)Windows 平台下 LiteIDE 的安装和使用
    GO语言学习(一)Windows 平台下 Go 语言的安装和环境变量设置
    VS无法访问IIS元数据库 您没有足够的特权访问计算机上的IIS网站
    本地存储localStorage以及它的封装接口store.js的使用
    操作类封装
  • 原文地址:https://www.cnblogs.com/grj001/p/12224642.html
Copyright © 2011-2022 走看看