c#实现模拟键盘向网页表单上输入数据?

逍遥行123 2008-07-16 02:33:51
我想通过按键F9后,向某网页的文本框模拟键盘输入数据,这该怎样办啊,感谢留言者!
...全文
457 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sueswriter 2009-07-11
  • 打赏
  • 举报
回复
好的啊。来看看。
atlasroben 2008-07-17
  • 打赏
  • 举报
回复
关于你问及的获取问题
 /// <summary>
/// 构建一个httt请求以获取目标链接的cookies,需要传入目标的登录地址和相关的post信息,返回完成登录的cookies,以及返回的html内容
/// </summary>
/// <param name="url">登录页面的地址</param>
/// <param name="post">post信息</param>
/// <param name="strHtml">输出的html代码</param>
/// <param name="rppt">请求的标头所需要的相关属性设置</param>
/// <returns>请求完成后的cookies</returns>
public CookieCollection funGetCookie(string url, byte[] post, out string strHtml, RequestPPT rppt,string server)
{

CookieCollection ckclReturn = new CookieCollection();
CookieContainer cc = new CookieContainer();
HttpWebRequest hwRequest;
HttpWebResponse hwResponse;
//请求cookies的格式
//hwRequest = (HttpWebRequest)HttpWebRequest.Create(new Uri(url));
//hwResponse = (HttpWebResponse)hwRequest.GetResponse();
//string cookie = hwResponse.Headers.Get("Set-Cookie");
//cookie = cookie.Split(';')[0];
//hwRequest = null;
//hwResponse = null;
//构建即将发送的包头
//cc.SetCookies(new Uri(server), cookie);
hwRequest = (HttpWebRequest)HttpWebRequest.Create(new Uri(url));
hwRequest.CookieContainer = cc;
hwRequest.Accept = rppt.Accept;
hwRequest.ContentType = rppt.ContentType;
hwRequest.UserAgent = rppt.UserAgent;
hwRequest.Method = rppt.Method;
hwRequest.ContentLength = post.Length;
//写入标头
Stream stream;
stream = hwRequest.GetRequestStream();
stream.Write(post, 0, post.Length);
stream.Close();
//发送请求获取响应内容
try
{
hwResponse = (HttpWebResponse)hwRequest.GetResponse();
}
catch
{
strHtml = "";
return ckclReturn;
}
stream = hwResponse.GetResponseStream();
StreamReader sReader = new StreamReader(stream, Encoding.Default);
strHtml = sReader.ReadToEnd();
sReader.Close();
stream.Close();
//获取缓存内容
ckclReturn = hwResponse.Cookies;
return ckclReturn;
}
shrinerain 2008-07-16
  • 打赏
  • 举报
回复
下载AutoTesterLib, 这是一个轻量级的自动化测试程序, 自然也可用于Web自动操作.

http://cid-184ecd6232a550c1.skydrive.live.com/self.aspx/Public/Program/%e7%99%be%e5%ba%a6%e8%be%93%e5%85%a5%e6%a1%86.zip

里面包含一个例子, 打开baidu, 输入字符串, 点击搜索按钮.
逍遥行123 2008-07-16
  • 打赏
  • 举报
回复
看来大家没明白我的意思,我是想当按下F9后,程序将我所设定的数据填写到任意文本框内,不一定是网页上的,比如当我将焦点聚在IE地址栏,按下F9可以输入预设的内容(比如预设的内容是网址),实际上就像 按键精灵 一样,^_^
happyboxman 2008-07-16
  • 打赏
  • 举报
回复
把你的post数据准备好,然后写个按F9触发的方法,在方法里面发送你的POST数据

发送可以利用HttpWebRequest、HttpWebResponse、CookieContainer等
都在System.Net里面


不知是否理解你的想法

我估计你是想F9后自动登陆网站,但你问的很不明确
caofan520 2008-07-16
  • 打赏
  • 举报
回复
api
atlasroben 2008-07-16
  • 打赏
  • 举报
回复
抓获句柄以后findwind然后c#winform的话你可以sendkey
也可以用web方式实现,你先httpwebrequet到你需要模拟输入的页面然后伪造一个填写完毕的页面发送到服务器就行了
skison 2008-07-16
  • 打赏
  • 举报
回复
看不太明白 --> 向某网页的文本框模拟键盘输入数据?

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧