在wpf Web浏览器中使用mshtml单击一个按钮(没有id)

时间:2012-05-26 15:11:49

标签: wpf browser mshtml

我正在尝试使用mshtml填充WPF WebBrowser页面。但是,我无法从html中找到按钮的ID。我怎样才能找到身份证?或者有没有其他方式提交表格?

代码:

mshtml.HTMLDocument doc = (mshtml.HTMLDocument)browser.Document;

try
{     
    ((mshtml.HTMLInputElement)doc.all.item("?????")).click();
}

Html页面(继续是按钮文本):

<li><a href="/uas/oauth/authenticate?oauth_token=3c708034-081f-4aca-b61c-f6518a1e0f8c&amp;trk=uas-continue" class="btn-primary">Continue</a></li>

1 个答案:

答案 0 :(得分:1)

WebBrowser中的WPF控件与WinForm中的控件不同。

System.Windows.Controls.WebBrowser控件具有Document属性,该属性获取表示托管HTML页面的Document对象。

您需要将此Document对象强制转换为COM接口IHTMLDocument2,然后访问文档中的all属性以获取HTML文档中的每个元素。

mshtml.IHTMLDocument2 doc = webBrowser.Document as mshtml.IHTMLDocument2;
doc.all.item("link")).click();

请参阅MSDN文章: Handling HTML Element Events

此处有类似的帖子:Accessing DOM from WebBrowser