我正在使用VS2012中的WPF (C#)编程。
我尝试使用以下代码:
来点击WebBrowser上的按钮,但是:
.GetElementById
给我一个错误。我添加了
using System.Windows.Forms;
并进行了程序集引用,但对我来说没有任何改变。我认为我也会遇到这个问题:
.InvokeMember("click");
我在网上找到的所有信息都是这样的:
但我不知道如何将其与VS2012集成,因为在VS2012中没有内置的API引用。
我正在使用VS2012中的WPF (C#)编程。
我尝试使用以下代码:
来点击WebBrowser上的按钮,但是:
.GetElementById
给我一个错误。
我添加了 using System.Windows.Forms;
并进行了程序集引用,但对我来说没有任何改变。
我认为我也会遇到这个问题:.InvokeMember("click");
我在网上找到的所有信息都是这样的:
但我不知道如何将其与VS2012集成,因为在VS2012中没有内置的API引用。
// 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;
}