2017-01-31 3 views
-1

Ich versuche, Strings aus HTML mit regulären Ausdruck zu bekommen, und es funktioniert auf lokale HTML-Datei. Ich brauche nur, um mich mit meinem Programm auf der Website einzuloggen, um HTML von dort zu bekommen.So öffnen Sie den Browser zum Anmelden und Inhalt in C#

Das Problem ist, dass ich versuchte, mit 3 verschiedenen Codes ohne Glück einzuloggen (Ich fand AL 3 CODES HIER). Website ist HTTPS und hat auch keine Unterstützung für Internet Explorer. Ich möchte nicht fiddler oder irgendein Debugging-Tool verwenden. Ich interessiere mich nicht für die Geschwindigkeit, möchte nur einfache Browser öffnen, anmelden und HTML-Code aus dem angezeigten Inhalt.

Gibt es eine Möglichkeit, Chrome/Mozilla/Opera zu öffnen und angezeigten HTML-Code in mein Programm zu übertragen? Oder, wenn es unmöglich ist, gibt es irgendeine Art von universeller Art, sich anzumelden?

+0

Was ist mit einfachen 'HttpWebRequest's? –

+0

Funktioniert nicht. Website gibt "Error signing in" für jede Anmeldemethode aus Code zurück. –

+0

Und wie melden Sie sich dann dort an? Welche Anrufe machst du? –

Antwort

0

Gibt es eine Möglichkeit, Chrome/Mozilla/Opera zu öffnen und angezeigten HTML-Code in mein Programm zu übertragen?

Sie könnten zum Beispiel Selenium WebDriver dafür verwenden. Es ermöglicht Ihnen, Knopfdruck, Texteingabe usw. auf der Zielwebseite zu automatisieren. Ich würde es nicht als "Debugging-Tool" bezeichnen, es ist mehr wie ein Test-Framework. NuGet hat alle Pakete, die Sie brauchen:

  1. Selen WebDriver
  2. Selen WebDriver Unterstützung Klassen

Es ist eine wirklich nette Anwendungsbeispiel here:

// Initialize the Chrome Driver 
using (var driver = new ChromeDriver()) 
{ 
    // Go to the home page 
    driver.Navigate().GoToUrl("https://yourdomainhere.net"); 

    // Get the page elements 
    var userNameField = driver.FindElementById("username"); 
    var userPasswordField = driver.FindElementById("password"); 
    var loginButton = driver.FindElementByXPath("//input[@value='Login']"); 

    // Type user name and password 
    userNameField.SendKeys("admin"); 
    userPasswordField.SendKeys("12345"); 

    // and click the login button 
    loginButton.Click(); 

    // Extract the text and save it into result.txt 
    var result = driver.FindElementByXPath("//div[@id='case_login']/h3").Text; 
    File.WriteAllText("result.txt", result); 
} 

ich versuche um Strings aus HTML mit regulärem Ausdruck zu erhalten

I have small hunch that you.. shouldn't. Sie können den Treiber verwenden, um die gewünschten Daten von der Seite zu extrahieren.

Verwandte Themen