Im程序在WPF (C#)中的VS2012编程
我试着用这个:
How do you click a button in a webbrowser control?
单击网页浏览器上的按钮,但是
.GetElementById给了我一个错误。
我补充道:using System.Windows.Forms;和组装它们,但它不会改变我的任何东西。.InvokeMember("click");我在网上发现的就是:
getelementbyid.html
但我不知道如何组装到VS2012中,VS2012中的API引用中没有构建bcus。
发布于 2013-03-30 00:03:32
您可以在WPF应用程序的WebBrowser控件中使用WindowsFormHosted主机而不是WPF WebBrowser主机,然后可以访问这些成员。
发布于 2014-03-27 12:52:46
// reference :
/// https://gist.github.com/sphingu/5781036
----------------------------------------------------
// Using WebBrowser for Crowling in WPF
----------------------------------------------------
<WebBrowser Cursor="Arrow" Name="MyBrowser" LoadCompleted="MyBrowser_OnLoadCompleted" />
----------------------------------------------------
// useful methods of WebBrowser
----------------------------------------------------
MyBrowser.Navigate(new Uri("http://google.com"));
private void MyBrowser_OnLoadCompleted(object sender,NavigationEventArgs e)
{
...
// return source of loaded page in WebBrowser
var document=(IHTMLDocument3) MyBrowser.Document;
//Get Element and set its value
document.getElementById("userName").setAttribute("value","myusername");
//get Button on page and fire its click event
document.getElementById("btnSubmit").click();
// Invoke javascript function on page loaded on WebBrowser
MyBrowser.InvokeScript("submitform",param1,param2,...);
//get data from table in page
_innerHtmldata =
((IHTMLDocument3) MyBrowser.Document).getElementById("datatable")
.innerHTML;
}https://stackoverflow.com/questions/15713211
复制相似问题