BK网络学院

首页搜索登录
首页业界网页平面多媒体程序数据库办公工具服务器系统网络安全站长认证壁纸
加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索

C#如何控制ie浏览器程序模拟点击及输入操作?

[日期:2012-12-14] 作者: 来源: [字体: ]

之前和模拟其它软件操作,调用系统钩子或者模拟键盘输入信息就可以了。但是今天的客户居然用的B/S构架。要想控制客户端的网页,必须先获取IE对象,然后进行操作模拟。

网上资料都将如何使用webbrowser控件进行网页的模拟操作,但这种情况对客户不适用。以下才是获取客户打开的ie窗口,并模拟鼠标点击及文字输入等操作的代码:

使用前必须先引入 C:\WINDOWS\System32\msHTML.tlb、Interop.SHDocVw.dll两个文件。 

/// <summary>

/// 返回指定Url的IE窗口下的 IHTMLDocument2 对象。

/// </summary>

/// <returns>IHTMLDocument2</returns>

public static IHTMLDocument2 GetIHTMLDocument2ByUrl(string url)

{

SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass();

foreach (SHDocVw.InternetExplorer ie in shellWindows)

{

string filename = System.IO.Path.GetFileNameWithoutExtension(ie.FullName).ToLower();

if (filename.Equals("iexplore") && ie.LocationURL == url)

{

return ie.Document as IHTMLDocument2;

}

}

}

 

通过 GetIHTMLDocument2ByUrl 方法可以获取已打开的IE窗口中指写地址的窗口中的 IHTMLDocument2 对象。

利用这个对象,就可以进行相关操作。

1.填写表单

IHTMLDocument2 iHTMLDocument2 = GetIHTMLDocument2ByUrl("http://www.163.com");

IHTMLInputElement input = (IHTMLInputElement)iHTMLDocument2.all.item("Username", 0); // 获取指定名称的对象

input.value = "Xiao"; // 赋值

 

 

2.点击按钮

IHTMLDocument2 iHTMLDocument2 = GetIHTMLDocument2ByUrl("http://www.163.com");

HTMLDocumentClass obj = (HTMLDocumentClass)iHTMLDocument2;

IHTMLElement iHTMLElement = null;

IHTMLElementCollection c = obj.getElementsByTagName("input");

foreach (IHTMLElement e in c)

{

if (e.outerHTML.IndexOf("登录") != -1)

{

iHTMLElement = e;

break;

}

}

if (iHTMLElement != null)

{

iHTMLElement.click(); // 点击登录按钮

当然,可以做的不仅仅是以上操作,只要是IHTMLDocument2 对象有的方法,我们都可以用的。具体请查阅msdn。

关键词:模拟  IE  点击  输入 

收藏 推荐 打印 | 录入:blue1000 | 阅读:
本文评论   查看全部评论 (2)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 2 楼
* 夜深老衲狂 发表于 2017/2/23 11:36:27
厉害了
第 1 楼
* 匿名 发表于 2016/12/24 23:08:17
http://www.blue1000.com/bkhtml/c17/2013-05/71174.htm 诵读经典作文 http://www.blue1000.com/details/zs593.html 诚信做人作文 http://www.blue1000.com/details/zs594.html