每天早上一开机就登录博客园已经成了习惯, 总要先打开浏览器, 然后输入www.cnblogs.com,然后等待... ...
要是某天有火箭队的比赛, 还要去关注一下赛事情况: 先打开浏览器, 然后输入www.sohu.com,点NBA,然后... ...
哈哈, 还有一件少不了的事情,就是要登录电子油箱查看一下是否有新邮件...
这么多操作真是麻烦! 能不能通过点击一个按纽来简化这些操作呢?
前两天从同事(ZnS04)那里得到启示, 根据自动化测试的原理, 完全可以...
好了,下面就开始编写吧 ... ...
1). 新建一个 window application 工程.
2). 在窗体上添加3个Button,设置好属性, 如图:
3). 给工程添加2个引用 Microsoft.mshtml 和SHDocVw.dll
4). 编写代码
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Text;
7
using System.Windows.Forms;
8![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
//添加引用
10
using SHDocVw;
11
using mshtml;
12![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
namespace WebExplorer
14
{
15
public partial class Form1 : Form
16
{
17
public Form1()
18
{
19
InitializeComponent();
20
}
21![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
/// <summary>
23
/// Redirect to the URL page.
24
/// </summary>
25
/// <param name="URL">Your wanted URL.</param>
26
public void GotoURL(string URL)
27
{
28
//实例化一个IE模型
29
SHDocVw.InternetExplorer IE = new InternetExplorer();
30
IE.Visible = true;
31
object nullArg = null;
32
//引导到URL
33
IE.Navigate(URL, ref nullArg, ref nullArg, ref nullArg, ref nullArg);
34
}
35![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
private void gotocnBlogs_Click(object sender, EventArgs e)
37
{
38
this.GotoURL("www.cnblogs.com");
39
}
40![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
private void gotoNBA_Click(object sender, EventArgs e)
42
{
43
this.GotoURL("sports.sohu.com/nba");
44
}
45![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
private void gotoGmail_Click(object sender, EventArgs e)
47
{
48
try
49
{
50
SHDocVw.InternetExplorer IE = new InternetExplorer();
51
IE.Visible = true;
52
string URL = "http://gmail.google.com/";
53
object nullArg = null;
54
IE.Navigate(URL, ref nullArg, ref nullArg, ref nullArg, ref nullArg);
55![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
System.Threading.Thread.Sleep(3000);
57
//得到IE的文档对象模型
58
mshtml.IHTMLDocument2 DOM = (mshtml.IHTMLDocument2)IE.Document;
59
//声明用户名
60
mshtml.IHTMLInputTextElement txtUserName = (mshtml.IHTMLInputTextElement)DOM.all.item("Email", null);
61
txtUserName.value = "YOUE USERNAME";
62
//声明密码
63
mshtml.IHTMLInputTextElement txtPwd = (mshtml.IHTMLInputTextElement)DOM.all.item("Passwd", null);
64
txtPwd.value = "PASSWORD";
65
//声明登录
66
mshtml.HTMLInputElement btnLogin = (mshtml.HTMLInputElement)DOM.all.item("null", 0);
67
System.Threading.Thread.Sleep(1000);
68
btnLogin.click();
69
}
70
catch (Exception ex)
71
{
72![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
}
74
}
75
}
76
}
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
5. 运行工程,点击上面的Button,OK!
需要说明两点:
1. 关于两个引用
Microsoft.mshtml:这个引用可以从add reference->.NET中得到。
SHDocVw.dll:这个引用在windows/system32目录下。
2.对上述dll进行引用后,即可实例化IE模型,通过构建页面元素进行操作。