C#网页自动化操作
其实网页自动化,说白了就是另外版本的按键精灵,不知道你是否用过没。反正我但是上大学的时候很多人用它抢选修课,功能不是强大,倒是任劳任怨,不断重复的进行点击。所以自动化也没想想那么漂浮。
好了,废话不说,如正题吧,网页自动化可以使用WebBrowser控件去做,VB,C#,VC++都可以做,不过本人推荐使用C#(我是C++的),因 为C++用这个控件比较复杂,现在又不是做项目,做小软件玩玩,所以当然是越简单越好了。VB呢其实是个挺简单的语言的,可以WebBrowser和 IE7有冲突,而且VB6中对WebBrowser编程时,很多成员列表不会自动列举。所以最后我把目光投放在C#身上,非常幸运的是它没有让我失 望,C#对WebBrowser的封装挺好的,而且和IE7也不冲突,使用类也比VB方便,还有就是对正则表达式的支持了,在HTML页面这么混乱的地 方,要找出自己的东西没有 正则表达式,我想那是相当的痛苦。
现在从基础讲起吧,理论就不说了,直接说一些简单的功能。
1.让WebBrowser跳转到指定页面
这可以说是基础中的基础,任何操作都要简历在打开页面的基础上。代码是
WebBrowser1.Navigate(http://blog.sina.com.cn/shushx);
上面语句让WebBrowser跳转到我的主页
2.向文本框中填入指定值
这个可以做所谓的自动填表,或者自动登录时自动输入帐号,密码。代码是:
WebBrowser1.document.getElementByIdx_x("txtUserName").InnerText = "shushx";
上面语句是让WebBrowser1找到id号为txtUserName的文本框,然后赋值为shushx
其他相关的控件赋值: 作用 SetAttribute 设置下拉框,复选框,多选框数据
下拉框:WebBrowser1.document.getElementByIdx_x("lAge").SetAttribute("value", "question1");复选框WebBrowser1.document.getElementByIdx_x("chkSingle").SetAttribute("Checked", "True");多选框WebBrowser1.document.getElementByIdx_x("chkMang").SetAttribute("checked", "checked");
3.点击某个按钮
这个如点击登录,发布,留言等按钮
WebBrowser1.document.getElementByIdx_x("submit").InvokeMember("click");
OK了,就先讲这3个知识点,其实大部分操作都包含在里面的。大家可以想想平时对网页的操作是否就这几个操作的集合?
例子1:登录 ->跳转到指定网站的 登录页面
->向帐号、密码框输入 登录信息
->点击登录按钮
例子2:发帖
->跳转到指定发帖 地址
->向标题框,内容框填入 要发表的标题和内容
->选择 分类下拉 列表的值
->向 标签框 输入相应内容
->点击发表按钮
所以学会页面跳转,页面元素赋值,页面元素点击,大部分网页自动化你都可以做出来。后面会用实际例子讲解C#中WebBrowser的应用。