用Waitn控制网页
Waitn用于网站自动化测试,需要编写测试代码,不过一般网站内容经常变化,所以实际应用可能比较少,但用Waitn来获取网页内容或者控制网页却是非常方便,获取的内容用C#这样的高级语言对内容进行复杂的分析、处理和存储。比如前段时间天猫的领取红包活动,我就花十几分钟利用Waitn写了一个自动领取的工具,不需要傻傻的点击鼠标(话说淘宝这样浪费人时间的设计真是在谋杀人的生命啊^_^)。好,闲话不多说,进入主题。
步骤:
1.下载 WatiN 的C#组件,有net2.0,net3.5,net4.0几个齐全的版本。net4.0版本的文件如下:

因为今天上不了google,就不贴链接了,有兴趣的同学google一下就能找到。
2. 用VS2010新建一个Console Application(控制台程序)工程,将WatiN动态库WatiN.Core.dll引入工程.
3.编写代码
class Program
{
[STAThread]
static void Main(string[] args)
{
Login("zfx530817209", "zfx800523");
}
public static int Test()
{
//有时运行失败可能会导致编译目录(debug)的丢失,于是每次运行拷贝覆盖一份;
File.Copy(@"G:\WEB\WaitnTest\WaitnTest\bin\Interop.SHDocVw.dll", @"G:\WEB\WaitnTest\WaitnTest\bin\Release\Interop.SHDocVw.dll", true);
//使用IE打开网页
using (var browser = new IE("http://3c.tmall.com/go/act/tmall/dqcksjac.php?spm=141.27931.264455.1&ad_id=&am_id=&cm_id=14010136042170e97f5e&pm_id="))
{
do
{
try
{
//查找按钮
var bt = Find.ById("award_btn");
browser.Link(bt).Click();//点击按钮
Thread.Sleep(100);//等待
var bt2 = Find.ByText("立即分享");//弹出对话框时,查找按钮
browser.Link(bt2).Click();//点击
Thread.Sleep(300);
var bt3 = browser.Link(bt).NextSibling;查找没有ID的按钮
bt3.Click();
//var bt2 = browser.Div(bt).NextSibling;
//bt2.Click();
//Thread.Sleep(2000);
//var msg = browser.Div(Find.ByClass("vol-dialog-msg"));
//Console.WriteLine(DateTime.Now.ToString() + ":" + msg.Text);
//<a class="vol-dialog-close">X</a>
//browser.Link(Find.ByCslass("vol-dialog-close")).Click();//关闭对话框
//Thread.Sleep(500);
}
catch
{
//int MM = (59 - DateTime.Now.Minute) ;
int MM = 5;
Console.WriteLine(DateTime.Now.ToString() + ":等待" + MM.ToString() + "分钟....");
Thread.Sleep(MM * 1000);
}
}
while (true);
}
}
}
内容就这些,很简单是不是?
浙公网安备 33010602011771号