各位大虾,我现在要做一个网站的登录页面。。 http://gd.10086.cn/ 比喻说这个网站,我要自动填写,并且把验证码图片下载到本地来,我该怎么做,求大虾帮助
解决方案 »
- |ZYCWPF| 在自定义控件中ZRichTextBox : RichText 为什么GetTemplateChild和FindName都得不到我的控件对像呢?
- 使用接口接收WebService上的操作类问题,高手请进!
- 急,主窗口调用动态链接库程序后的传值问题!!!
- 大家帮帮忙treeview的问题?
- 请教高人难题!C# 导出 Excel ,如何单元格 设置 格式(以数据流的形式写出Excel)急!!
- 高分:關於windform中的tabControl的使用
- 為何我的方案總管視窗中只有專案,沒有方案?
- 请教一下。。。急!~~~
- 如何联系csdn里面的人,我要给他发邮件
- 一个很菜的问题:vs.Net中如何将DateTimePicker控件的值设为空白?
- 引入Delphi6版dll时,如何控制回调函数中的参数编码?
- wpf中如何根据得到的BitmapSource判断图片类型
http://blog.csdn.net/sxldfang/article/details/5651353
winform中这些内容可以通过全局变量来记录问题出现了:你记录的这些变量怎么传递到你打开的浏览器呢,,并且,session,viewstate需要在web服务器上面有记录,,这个怎么处理 HtmlElement btnSubmit = webBrowser.Document.All["submitbutton"];
HtmlElement tbUserid = webBrowser.Document.All["username"];
HtmlElement tbPasswd = webBrowser.Document.All["password"]; if (tbUserid == null || tbPasswd == null || btnSubmit == null)
return; tbUserid.SetAttribute("value", "smalldust");
tbPasswd.SetAttribute("value", "12345678"); btnSubmit.InvokeMember("click"); //输入用户名和密码 出发按钮click事件
string reg_url = "https://passport.baidu.com/?login&tpl=mn";//填表地址//这是Webbrowser的完成事件,检索用户名和密码的TextBox,进行填写
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url == webBrowser1.Document.Url && e.Url.ToString() == reg_url)//网页加载网且加载地址为填表地址
{
webBrowser1.Document.GetElementById("username").SetAttribute("value", "user456"); //填写用户名 for (int i = 0; i < 30; i++)
{
Thread.Sleep(100);
Application.DoEvents();
}
webBrowser1.Document.GetElementById("normModPsp").SetAttribute("value", "pwd123456");//填写密码
for (int i = 0; i < 30; i++)
{
Thread.Sleep(100);
Application.DoEvents();
}
}
}
最后找到按钮调用它的单击:InvokeMember("Click");
验证码可以做成一个画布
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;namespace CsdnLogin
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
} private void Form2_Load(object sender, EventArgs e)
{
webBrowser1.Url = new Uri("http://www.csdn.net/");
} private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElement txtUserHtml=webBrowser1.Document.All["username"];
HtmlElement txtPasswordHtml = webBrowser1.Document.All["pwd"];
HtmlElement btnClickHtml = webBrowser1.Document.All["Login"]; txtUserHtml.SetAttribute("value",txtUser.Text);
txtPasswordHtml.SetAttribute("value", txtPwd.Text);
btnClickHtml.InvokeMember("click"); Process.Start("http://www.csdn.net/"); }
}
}
webbrowser方式 楼上就可以了
补充下读出webbrowser验证码图片的可以看这里
http://blog.csdn.net/fish_8510/article/details/4802132
httprequest模拟登陆的
看http://blog.csdn.net/sxldfang/article/details/5651353
确实挺全的