用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() {<br> //有时运行失败可能会导致编译目录(debug)的丢失,于是每次运行拷贝覆盖一份; File.Copy( @"G:\WEB\WaitnTest\WaitnTest\bin\Interop.SHDocVw.dll" , @"G:\WEB\WaitnTest\WaitnTest\bin\Release\Interop.SHDocVw.dll" , true );<br><br> //使用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 ); } }<br>} |
内容就这些,很简单是不是?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!