2015-02-18 3 views
0

В Asp.net C#, используя управление веб-браузером, мне нужно реализовать автоматический вход на живые веб-сайты, его работает только в Internet Explorer(IE) и не работает в Firefox и Chrome и других браузерах. Как решить этуASP.net C# браузер веб-браузера всегда открыт, т. Е. Только браузер?

Вот мой 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(); 

    } 

ответ

1

Ну, вы с помощью элемента управления WebBrowser, который построен вокруг двигателя IE. Вам нужно будет использовать что-то еще, чтобы получить другой браузер. Посмотрите что-то вроде Awesomium.

+0

благодарит за информацию. пожалуйста, мне нужны четкие детали. Я хочу использовать этот веб-элемент управления для всех браузеров –

Смежные вопросы