zoukankan      html  css  js  c++  java
  • C#自动化操作IE浏览器系列之一打开新的浏览器并导航到百度进行搜索

    现在OA系统、生产管理系统都是B/S结构,很多的办公室工作都要用浏览器操作。自己会一点C# winform开发,就做个小工具自动化处理一些繁琐的操作。

    我的开发环境是:win7旗舰版+VS2010(或visual studio2017)

    1、打开VS2010 - 文件 - 新建 - 项目     

     (默认是windows窗体应用程序, .net framework4),将项目[名称]改为auto,点确定后,出现form1设计窗口。

    2、在界面上找到并点击[工具箱]选项卡,用鼠标将[button]控件拖到form1上。

    3、双击[button]控件,开始编写C#代码

    在光标处,即button1_Click函数中写入代码,如下:

    private void button1_Click(object sender, EventArgs e)
    {
    SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer();
    }

    4、会提示SHDocVw缺少引用。得添加COM引用。找到解决方案资源管理器选项卡,在[auto]下面的[引用]上点鼠标右键 - 添加引用 

    从选项卡[com]中找到Microsoft Internet Controls,点确定后添加,错误提示消失。

    5、继续修改button1_Click函数如下:

    private void button1_Click(object sender, EventArgs e)
    { 
    SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer();
    object Empty = 0;
    IE.Visible = true;
    object URL1 = "http://www.baidu.com";
    IE.Navigate2(ref URL1, ref Empty, ref Empty, ref Empty, ref Empty);
    do
    {
    System.Threading.Thread.Sleep(500);
    } while (IE.Busy);
    var IE_doc = (mshtml.HTMLDocument)IE.Document;
    var kw_input = (mshtml.HTMLInputElementClass)IE_doc.getElementById("kw"); //获取输入框 
    //kw_input.focus();
    kw_input.value = "hello world";
    var su_input = (mshtml.HTMLInputElementClass)IE_doc.getElementById("su"); //获取提交按键
    su_input.click(); 
    }

    6、又出现mshtml缺少引用的提示。与第4步的添加COM引用类似,这次要添加.net引用。从.net选项卡中找到Microsoft.mshtml,点确定。

    7、又出现mshtml.HTMLInputElementClass 无法嵌入互操作类型错误提示。在解决方案管理器中的[引用]下面的Microsoft.mshtml上点鼠标右键-属性-嵌入互操作类型,将值true改为false

    8、好了。按F5运行,弹出form1界面,点击button1.(如果你和我一样装了360.会弹出进程防护,当然是误报。选择允许操作,勾选不再提醒,还可以加入白名单),将会打开新的浏览器并导航到百度搜索hello world.

     

  • 相关阅读:
    HDU 1495 非常可乐
    ja
    Codeforces Good Bye 2016 E. New Year and Old Subsequence
    The 2019 Asia Nanchang First Round Online Programming Contest
    Educational Codeforces Round 72 (Rated for Div. 2)
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises)
    AtCoder Regular Contest 102
    AtCoder Regular Contest 103
    POJ1741 Tree(点分治)
    洛谷P2634 [国家集训队]聪聪可可(点分治)
  • 原文地址:https://www.cnblogs.com/pu369/p/9068972.html
Copyright © 2011-2022 走看看