2019-05-07

C#操作IE浏览器的方法


在开发代码的过程中,有时候我们需要书写一个代码去操作浏览器,得到我们需要操作,那么我们今天就来讲一下使用asp.net(C#)操作IE浏览器的方法

首先我们操作浏览器的需要用到鼠标,还有键盘的方法,所以需要引入鼠标还有键盘的事件

//得到键盘,按键信息

[DllImport("user32.dll", CharSet

= CharSet.Auto)]

private static extern int GetKeyState(int

nVirtKey);


//键盘操作事件

[DllImport("user32.dll",

EntryPoint = "keybd_event", CharSet = CharSet.Auto)]

static extern void keybd_event(byte bVk,

byte bScan, uint dwFlags, uint dwExtraInfo);


//鼠标移动事件

[System.Runtime.InteropServices.DllImport("user32",

CharSet = CharSet.Auto)]

static extern bool SetCursorPos(int X, int

Y);


//鼠标点击事件

[System.Runtime.InteropServices.DllImport("user32",

CharSet = CharSet.Auto)]

private static extern int mouse_event(int

dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);


//ShellExecute函数ShowCmd参数可选值

public enum ShowCommands : int

{

   SW_HIDE = 0,

   SW_SHOWNORMAL = 1,

   SW_NORMAL = 1,

   SW_SHOWMINIMIZED = 2,

   SW_SHOWMAXIMIZED = 3,

   SW_MAXIMIZE = 3,

   SW_SHOWNOACTIVATE = 4,

   SW_SHOW = 5,

   SW_MINIMIZE = 6,

   SW_SHOWMINNOACTIVE = 7,

   SW_SHOWNA = 8,

   SW_RESTORE = 9,

   SW_SHOWDEFAULT = 10,

   SW_FORCEMINIMIZE = 11,

   SW_MAX = 11

}

const int MOUSEEVENTF_MOVE = 0x0001;  //    移动鼠标

const int MOUSEEVENTF_LEFTDOWN = 0x0002; //模拟鼠标左键按下

const int MOUSEEVENTF_LEFTUP = 0x0004; //模拟鼠标左键抬起

const int MOUSEEVENTF_RIGHTDOWN = 0x0008;//模拟鼠标右键按下

const int MOUSEEVENTF_RIGHTUP = 0x0010; //模拟鼠标右键抬起

const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;

//模拟鼠标中键按下

const int MOUSEEVENTF_MIDDLEUP = 0x0040; //模拟鼠标中键抬起

const int MOUSEEVENTF_ABSOLUTE = 0x8000;// 标示是否采用绝对坐标


我们得到操作鼠标键盘的方法之后,我们就需要操作得到浏览器的信息。

我们需要引入Microsoft.mshtml,事件才可以操作浏览器信息


下面就是得到浏览器信息的核心代码

//得到浏览器信息

SHDocVw.ShellWindows shellWindows = new

SHDocVw.ShellWindowsClass();

   object objFlags = 1;

   object objTargetFrameName = "";

   object objPostData = "";

   object objHeaders = "";

   //得到浏览器的窗体方法

   SHDocVw.InternetExplorer webBrowser1 =(SHDocVw.InternetExplorer)shellWindows.Item(shellWindows.Count - 1);


   //循环浏览器的所有窗体

   foreach (SHDocVw.InternetExplorer Browser in shellWindows)

    {

        //判断打开的是不是百度网站

       if (Browser.LocationURL.Contains("www.baidu.com"))

       {

           //得到网页内容

           if (Browser.Document is HTMLDocumentClass)

           {


                mshtml.IHTMLDocument2 doc2 =(mshtml.IHTMLDocument2)Browser.Document;


                HTMLDocumentClass obj =(HTMLDocumentClass)doc2;

                //得到窗体的信息

                int BrowserH =Screen.PrimaryScreen.WorkingArea.Height - ((IHTMLElement2)obj.documentElement).clientHeight;


                  //循环得到li标签的信息

                  foreach (IHTMLElement i inobj.getElementsByTagName("li"))

                  {

                    //得到li标签的内容

                    string content=i.innerText;

                    鼠标点击网页

                   mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN |MOUSEEVENTF_LEFTUP, 100, 100, 0, 0);


                  }



           }

       }

    }


}

通过上面的例子,大家就可以看到浏览器中网页的标签的内容,也可以点击网页

深圳网站建设  https://www.sz886.com/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,099评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,828评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,540评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,848评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,971评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,132评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,193评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,934评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,376评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,687评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,846评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,537评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,175评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,887评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,134评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,674评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,741评论 2 351

推荐阅读更多精彩内容

  • 昨天早上看内科冲刺,进度很慢,一个早上一个视频还没看完,但是效果挺好的,基本上看完的都记住了。 下午在店里利用时间...
    宠蜜阅读 85评论 0 0
  • Pycharm使用秘籍(一)Pycharm 作为 Python 开发的 IDE 已经很成熟了,也支持各种平台(wi...
    花泽菠菜xqc阅读 469评论 0 2
  • 早知 2017 10 19 早知 人散 一盏茶不留余烟 多少情各自留一半 多少情是走往渐淡 早知 情浅 尽头只有遗...
    云寒是我阅读 219评论 0 2
  • 你还有回忆,不好吗 也许是最近收拾屋子要搬家的来的感悟,也许一直就潜伏在内心深处,某些事物活了过来,回忆。 怀旧,...
    珩左先生阅读 232评论 0 1
  • 姓名:黄丽钦 岗位:影视部主管 【日精进打卡第80天】 【知~学习】 《六项精进》2遍 共160遍 《大学》...
    黄丽钦888阅读 110评论 0 0