用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); } }
}

 内容就这些,很简单是不是?

原文地址:https://www.cnblogs.com/ninestates/p/2640256.html