[英]ASP.net C# web-browser Control always open ie browser only?
在Asp.net C#
,使用Web瀏覽器控件,我需要在實時網站中實現自動登錄,它只能在Internet Explorer(IE)
工作, 而不能在Firefox和Chrome等瀏覽器中工作 。 如何解決這個問題
這是我的C#
代碼
void capture()
{
Thread thread = new Thread(delegate()
{
using (WebBrowser browser = new WebBrowser())
{
browser.ScrollBarsEnabled = false;
browser.AllowNavigation = true;
browser.Navigate("My URL");
browser.Width = 1024;
browser.ScriptErrorsSuppressed = true;
browser.Height = 768;
browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DocumentCompleted);
while (browser.ReadyState != WebBrowserReadyState.Complete)
{
System.Windows.Forms.Application.DoEvents();
}
}
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
}
private void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser browser1 = sender as WebBrowser;
HtmlDocument doc = browser1.Document;
string user = txtUsername.Text.Trim();
string pass = password;
doc.GetElementById("Your userID").SetAttribute("value", user);
doc.GetElementById("Your Password").SetAttribute("value", pass);
//get Button on page and fire its click event
doc.GetElementById("Your Buttonid").InvokeMember("Click");
Thread thread = new Thread(delegate()
{
using (WebBrowser browser = new WebBrowser())
{
browser.ScrollBarsEnabled = false;
browser.AllowNavigation = true;
browser.Navigate("My URL");
browser.Width = 1024;
browser.Height = 768;
browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DocumentCompleted1);
while (browser.ReadyState != WebBrowserReadyState.Complete)
{
System.Windows.Forms.Application.DoEvents();
}
}
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
}
好吧,您正在使用圍繞IE引擎構建的WebBrowser控件。 您將不得不使用其他方式來獲取其他瀏覽器。 看看類似Awesomium的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.