webBrowser问题

D6Space 2008-11-24 10:19:42
继http://topic.csdn.net/u/20081124/12/a0414882-f793-4359-bc6c-20db2f94bee7.html这个帖子:

一个asp页面有一个textname和Submit用来查询

System.Windows.Forms.HtmlElement txtkeywords = this.webBrowser1.Document.All["textname"];
System.Windows.Forms.HtmlElement buttonchaxun = this.webBrowser1.Document.All["Submit"];
txtkeywords.SetAttribute("value", "test");
buttonchaxun.InvokeMember("click");
string strResult=........

通过以上方法给textname赋值点击Submit查询,如何得到buttonchaxun.InvokeMember("click"); 之后请求页面的html代码???

...全文
141 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
D6Space 2008-11-25
  • 打赏
  • 举报
回复
自己做了一个WebResponse的:

System.Net.HttpWebRequest myRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("http://*****/chaxun.asp");
myRequest.Method = "POST";
byte[] myBytes = System.Text.Encoding.UTF8.GetBytes(html);
myRequest.ContentLength = myBytes.Length;
System.IO.Stream newStream2 = myRequest.GetRequestStream();
newStream2.Write(myBytes, 0, myBytes.Length);
newStream2.Close();

System.Net.HttpWebResponse myRespons = (System.Net.HttpWebResponse)myRequest.GetResponse();
System.IO.Stream newStream = myRespons.GetResponseStream();
System.IO.StreamReader reader = new System.IO.StreamReader(newStream, System.Text.Encoding.Default);
string content = reader.ReadToEnd();
myRespons.Close();
this.textBox1.Text = content;

但是这个页面chaxun.asp是有身份验证的,这样执行的结果是每次都跳到登陆页面去!怎么把身份信息也提交过去?不知道asp是怎样验证身份的,session还是什么,不知道要怎么伪造这个session!请指教!
D6Space 2008-11-25
  • 打赏
  • 举报
回复
up!
D6Space 2008-11-24
  • 打赏
  • 举报
回复
ok!tks!
zx005 2008-11-24
  • 打赏
  • 举报
回复
明天给你 我要休息了 或者你在网上找一下例子很多的
D6Space 2008-11-24
  • 打赏
  • 举报
回复
能发个dome到我的邮箱么:krebs.chen@163.com 万分感谢!
zx005 2008-11-24
  • 打赏
  • 举报
回复
用WebResponse你抓个包把参数构造进去 比用webbrowser好很多
D6Space 2008-11-24
  • 打赏
  • 举报
回复
在DocumentCompleted中循环查询,这个不好实现吧!
webBrowser没有一个返回请求页面html代码的方法么?
D6Space 2008-11-24
  • 打赏
  • 举报
回复
在DocumentCompleted中循环查询?要试一下
WebResponse刚开始是用这个做的,但是它是asp页面,查询也是调用当前页面,也不知道怎么传参!
zx005 2008-11-24
  • 打赏
  • 举报
回复
你要获取网页的源码必须要等网页加载完才行,你也可以再DocumentCompleted中调用上面的代码.不过你这个功能推荐你使用WebResponse
D6Space 2008-11-24
  • 打赏
  • 举报
回复
不是!我这里是有循环的!如下:
string ExcSqlStr = "";
DataSet tmpTable = new DataSet();
System.Windows.Forms.HtmlElement txtkeywords = this.webBrowser1.Document.All["nextname"];
System.Windows.Forms.HtmlElement buttonchaxun = this.webBrowser1.Document.All["Submit3"];

ExcSqlStr = "select * from DataList";
tmpTable = GetDS(ExcSqlStr);
int intxunhuan = tmpTable.Tables[0].Rows.Count;
for (int a = 0; a < intxunhuan; a++)
{
string keywords = tmpTable.Tables[0].Rows[a]["CompanyName"].ToString();
txtkeywords.SetAttribute("value", keywords);
buttonchaxun.InvokeMember("click");
。。。。。。。。。。

}


zx005说的意思我知道,如果只请求一次是可以,但是我这是循环请求的,我的意思是用本地数据库的数据一个个填进去查询,对每个返回的结果进行分析!

如果写在DocumentCompleted,只能得到最后一个页面的html!
zx005 2008-11-24
  • 打赏
  • 举报
回复
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{

if(e.Url.ToString().Contains("searchclient.asp "))
{
textbox1.Text = webBrowser1.DocumentText;
}
}
kingson8811 2008-11-24
  • 打赏
  • 举报
回复
this.webBrowser1.document
kingson8811 2008-11-24
  • 打赏
  • 举报
回复
请求以后webBrowser1打开这个新的页面啊!
WebBrowserWebBrowser编程技术包括Delphi、C#、VC++、VB等编程资料的集合,其中的 实例大多以Delphi为示例讲解,Delphi7 IDE开发环境。 IE_WebBrowser编程技巧 修改WebBrowser的header信息? Delphi查看WebBrowser提交之前的数据头 用TWebBrowser组件在DELPHI中POST数据和取得网页源文件 在 WebBrowser 中直接载入流,不通过文件 判断下载网页成功 WebBrowser 失去焦点问题的解决 添加到收藏夹和整理收藏夹 使WebBrowser获得焦点 提取网页中所有链接 Web字体大小 Web命令操作 WebBrowser Navigate 中的 参数 EmptyParam Web控件不缓存网页,也不从缓存中读取 禁止WebBrowser复制 CTRL+C 在WebBrowser窗口上模拟KeyBd_Event 在使用WebBrowser控件,先要 初始化和结束程序后要终止化(Initialization & Finalization) 自定义浏览器上下文菜单 自定义浏览器 C#中调用WebBrowser查看源文件的功能 ----------------------------------- WebBrowser与MSHTML 直接在WebBrowser中写HTML字符串 在webbrowser中查找字符串并定位 把图片拷贝进剪贴板 IHTMLDocument的ExecCommand 处理事件的Internet Explorer中的DOM 禁止WebBrowser右键弹出菜单 禁止TWebBrowser图像显示 访问HTML的DOM不使用WebBrowser 如何填写空白(about:blank)页的表单 屏蔽WebBrowser的Javascript 创建运行时的IHTMLDocument而不在WebBrowser内 HOOK Webbrowser 替换WebBrowser的窗口过程 Microsoft.XMLHttp的属性和方法的简介及使用 ------------------------ IE相关的 清空IE缓存 单独删除某一URL的缓存 清空历记录 读取IE历史记录 防止脚本关闭WebBrowser 连接是否有效 InternetCheckConnection res协议可以使浏览器显示储存在资源中HTML 往IE中嵌入工具条 阻断弹出式广告的BHO 自动填表的IE面板插件 使用Delphi开发IE按钮扩展 使用Delphi开发IE右键菜单扩展 IE异步可插入协议扩展 Delphi开发IE下载扩展 创建3721样式的Google搜索扩展 HTML代码过滤技术 GetDefaultBrowser 得到的HTML代码的IE窗口 下载网址wininet ------------------------------- 注意啦,需要HTF 阅读器:http://sites.google.com/site/htfresource/home

111,130

社区成员

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

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

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