c # kopfloser Browser mit JavaScript-Unterstützung für Crawler

8

Könnte jemand kopflosen Browser für .NET vorschlagen, der Cookies und authomatisch Javascript-Ausführung unterstützt?

    
Bogdan Dudnik 06.03.2013, 18:10
quelle

2 Antworten

9

Selenium + HtmlUnitDriver / GhostDriver ist genau das, wonach Sie suchen. Übersichtlich ist Selenium eine Bibliothek für die Verwendung verschiedener Browser für Automatisierungszwecke - Testen, Scraping, Aufgabenautomatisierung.

Es gibt verschiedene WebDriver-Klassen, mit denen Sie einen aktuellen Browser betreiben können. HtmlUnitDriver ist kopflos. GhostDriver ist ein WebDriver für PhantomJS, so dass Sie C # schreiben können, während PhantomJS das Heavy Lifting übernimmt.

Code-Snippet von Selenium docs für Firefox, aber Code mit GhostDriver (PhantomJS) oder HtmlUnitDriver ist fast identisch.

%Vor%

Wenn Sie dies auf einem Windows-Computer ausführen, können Sie den aktuellen Firefox / Chrome-Treiber verwenden, da dadurch ein aktuelles Browserfenster geöffnet wird, das wie in Ihrem C # programmiert funktioniert. HtmlUnitDriver ist das leichteste und schnellste.

Ich habe erfolgreich Selenium für C # (FirefoxDriver) unter Linux mit Mono ausgeführt. Ich nehme an, HtmlUnitDriver funktioniert auch so gut wie die anderen, also wenn Sie Geschwindigkeit benötigen - ich schlage vor, dass Sie für Mono gehen (Sie können entwickeln, testen und mit Visual Studio unter Windows kompilieren, kein Problem) + Selenium HtmlUnitDriver läuft auf Linux-Host ohne Desktop .

    
shturm 15.02.2015 14:13
quelle
4

Mir ist kein .NET-basierter kopfloser Browser bekannt, aber es gibt immer PhantomJS , das ist C / C ++ und es funktioniert ziemlich gut für die Unterstützung in Unit-Tests von JS mit QUnit.

Es gibt hier noch eine andere relevante Frage, die Ihnen helfen könnte - Headless Browser für C # ( .NET)?

    
Andrew Polaskey 06.03.2013 18:19
quelle