网站建设知识

我们将想法与焦点与您一起共享

当前位置:深圳网站建设 > 独占观点> asp.net操作IE浏览器的方法

asp.net操作IE浏览器的方法

2017-6-26 8:51:37 独占网络 独占观点
在开发代码的过程中,有时候我们需要书写一个代码去操作浏览器,得到我们需要操作,那么我们今天就来讲一下使用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 in obj.getElementsByTagName("li"))
                  {
                    //得到li标签的内容
                    string content=i.innerText;
                    鼠标点击网页
                    mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 100, 100, 0, 0);
                  
                  }


            }
        }
    }

}
通过上面的例子,大家就可以看到浏览器中网页的标签的内容,也可以点击网页
始终专注高端网站建设服务 网站建设案例服务方案联系

联系我们

135-3000-5572
151-1257-9390

地址:深圳市龙岗区横岗街道联旺大厦5楼

邮箱:chenmh@sz886.com

我们的优势

12年建站服务经验自主开发后台CMS开发项目不外包无隐形收费

服务198家上市企业服务行业龙头超过70家 营销型网站建设完备的项目流程管理体系网页设计与网站开发技术并重

关于独占网络

十多年来,凭借对设计的深刻理解,对互联网营销趋势的敏锐洞察,独占网络不断修正服务导向,完善创作品格,始终注重专业探索,为所有合作企业机构全力以赴,确保网站的视觉体验与营销转化能力。

我们是一群对互联网抱有执着信念的技术控。从2012年到现在,公司从未建过强大的营销团队,却凭着作品与服务不断保持增长,做到了"桃李不言,下自成蹊。" 我们坚信:每个客户都是一条渠道,每个案例都是一个广告,为企业插上翅膀,助力企业转型升级,我们已做好准备。

专业团队为您提供深圳网站建设、深圳网站制作、深圳营销型网站建设、外贸网站建设等服务,深圳建网站就找独占网络 | 12年专注网站建设

深圳市独占网络科技有限公司 |备案号:粤ICP备15007128| Copyright 2023,ALL Rights Reserved www.sz886.com | Copyright 2023版权所有
Hi,Are you ready? 如果您有意向
请于我们取得联系。

有一个互联网项目想和我们谈谈吗?
您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与你取得联系。当然也欢迎您给我们写信或是打电话,让我们听到你的声音!

独占-整合互联网营销

地址:深圳市龙岗区横岗地铁D出口联旺大厦5楼
大客户专线:深圳 13530005572
售前QQ:1447567909
E-mail: sales@sz886.cn

合作意向表
您希望我们为您提供什么服务?