最近一个项目要用到表单自动提交知识,自己先拿126邮箱练下手,用webbrowser控件实现126邮箱的自动登录。
首先,设计一个简单的Form界面,好直观的查看登录情况,界面如图下图所示:
<span style="font-size:10px;"> </span>
然后在 webBrowser1_DocumentCompleted函数中添加如下代码:
<span style="font-size:10px;"><span style="color: blue;">private void </span>webBrowser1_DocumentCompleted(<span style="color: blue;">object </span>sender, <span style="color: rgb(43, 145, 175);">WebBrowserDocumentCompletedEventArgs </span>e)
{
<span style="color: blue;">#region </span>参数设置
<span style="color: rgb(43, 145, 175);">HtmlElement </span>btnSubmit = webBrowser1.Document.All[<span style="color: rgb(163, 21, 21);">"enter.x"</span>]; </span><span style="font-size:10px;"><span style="color: green;">//获取登录对应元素
</span><span style="color: rgb(43, 145, 175);">HtmlElement </span>tbUserid = webBrowser1.Document.All[<span style="color: rgb(163, 21, 21);">"user"</span>]; </span><span style="font-size:10px;"><span style="color: green;">//获取用户名对应元素
</span><span style="color: rgb(43, 145, 175);">HtmlElement </span>tbStyle = webBrowser1.Document.All[<span style="color: rgb(163, 21, 21);">"style"</span>]; </span><span style="font-size:10px;"><span style="color: green;">//获取版本对应元素
</span><span style="color: rgb(43, 145, 175);">HtmlElement </span>tbPasswd = webBrowser1.Document.All[<span style="color: rgb(163, 21, 21);">"password"</span>]; </span><span style="font-size:10px;"><span style="color: green;">//获取密码对应元素
</span><span style="color: blue;">if </span>(tbUserid == <span style="color: blue;">null </span>|| tbPasswd == <span style="color: blue;">null </span>)
<span style="color: blue;">return</span>;
tbUserid.SetAttribute(<span style="color: rgb(163, 21, 21);">"value"</span>, txtUseName.Text); </span><span style="font-size:10px;"><span style="color: green;">//给用户名赋值
</span>tbPasswd.SetAttribute(<span style="color: rgb(163, 21, 21);">"value"</span>, txtPassWord.Text); </span><span style="font-size:10px;"><span style="color: green;">//给密码赋值
</span>tbStyle.Children[<span style="color: rgb(43, 145, 175);">Convert</span>.ToInt32(txtstyle.Text)].SetAttribute(<span style="color: rgb(163, 21, 21);">"selected"</span>, <span style="color: rgb(163, 21, 21);">"selected"</span>);</span><span style="font-size:10px;"><span style="color: green;">//设置版本
</span>btnSubmit.InvokeMember(<span style="color: rgb(163, 21, 21);">"click"</span>); </span><span style="color: green;"><span style="font-size:10px;">//模拟点击登录按钮
</span></span><span style="font-size:10px;"><span style="color: blue;">#endregion
</span>}
</span>
在确定按钮的响应函数btnOK_Click中添加如下代码:
<span style="font-size:10px;"><span style="color: blue;">private void </span>btnOK_Click(<span style="color: blue;">object </span>sender, <span style="color: rgb(43, 145, 175);">EventArgs </span>e)
{
webBrowser1.DocumentCompleted += <span style="color: blue;">new </span><span style="color: rgb(43, 145, 175);">WebBrowserDocumentCompletedEventHandler</span>(webBrowser1_DocumentCompleted);
webBrowser1.Navigate(<span style="color: rgb(163, 21, 21);">"http://www.126.com"</span>);
}</span>
测试结果如下:
![R]{7R4NJ35@}JZH R]{7R4NJ35@}JZH](https://i-blog.csdnimg.cn/blog_migrate/1dfa235424160a1c2129c61549763ff8.jpeg)

![UFGC1YD]DFB@2QYZ]D78MHF UFGC1YD]DFB@2QYZ]D78MHF](https://i-blog.csdnimg.cn/blog_migrate/31655c0cbda95b7c74c68cb9bbda52ec.jpeg)
2万+

被折叠的 条评论
为什么被折叠?



