在C#中使用WebBrowser控件提交网页表单

在C#中使用WebBrowser控件提交网页表单,第1张

概述我已经在SO和网络上看到过很多关于这个特定主题的帖子,大多数(如果不是全部)代码如下所示 private void btnSubmit_Click(object sender, RoutedEventArgs e){ webBrowser1.Navigate(new Uri("http://samples.msdn.microsoft.com/workshop/samples/author/ 我已经在SO和网络上看到过很多关于这个特定主题的帖子,大多数(如果不是全部)代码如下所示
private voID btnsubmit_Click(object sender,RoutedEventArgs e){  webbrowser1.Navigate(new Uri("http://samples.msdn.microsoft.com/workshop/samples/author/dHTML/refs/onsubmit.htm"));}private voID btnLogin_Click(object sender,RoutedEventArgs e){    msHTML.HTMLdocument HTMLDoc = null;    HTMLDoc = (msHTML.HTMLdocument) this.webbrowser1.document;    if (webbrowser1.document != null)    {        foreach (msHTML.HTMLFormElement form in HTMLDoc.forms)        {            form.submit();            break;        }    }}

代码没有任何错误,但对于生命它没有提交.我正在使用的示例页面有简单的按钮,它做什么,它提醒选择单选按钮,然后提交表单.由于某些奇怪的原因,当使用Webbrowser控件通过代码提交表单时,表单已提交,但警报从未显示.

我不确定我在这里做错了什么.任何有关这方面的帮助将不胜感激.

解决方法@H_404_11@ 点击按钮会执行您需要它做的事情吗?您将需要向Microsoft HTML对象库(您可能已经拥有)添加COM引用.例如,如果您将Google加载到webbrowser控件中,此代码会将“hello world”放入搜索框并执行搜索:
msHTML.IHTMLdocument2 doc = ((msHTML.HTMLdocumentClass)webbrowser1.document);         ((msHTML.IHTMLElement)doc.all.item("q")).setAttribute("value","hello world");         MessageBox.Show("Clicking I'm feeling lucky button");        ((msHTML.HTMLinputElement)doc.all.item("btnI")).click();

编辑:我更新了WPF Webbrowser控件使用的组件的代码.另请注意,这有时会引发谷歌的脚本错误,但这似乎是一个时间问题,基于Google在主页上的一些AJAX调用.

总结

以上是内存溢出为你收集整理的在C#中使用WebBrowser控件提交网页表单全部内容,希望文章能够帮你解决在C#中使用WebBrowser控件提交网页表单所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1262287.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存