2017-02-19 5 views
0

Ich krabbele die Website http://italianembassy.ir (die nur durch Irans IP-Adressen zugänglich ist) mit Selenium Chrome Webdriver mit C#, aber lassen Sie mich über diese Seite etw. Sagen.Selenium webdriver verhält sich nicht wie der Browser beim Crawlen einer sicheren Website

Es ist eine sehr sichere Website gegen DDOS-Angriffe und sehr streng über Benutzeraktivität, die Sie sofort blockiert, wenn Sie von zwei verschiedenen Systemen mit der gleichen IP-Adresse (zB zwei mit einem Modem verbundene Systeme) zugreifen, und Sie Sie müssen Ihre IP-Adresse ändern, um erneut auf die Site zugreifen zu können (z. B. Neustart des Modems).

Jetzt das Problem mit Selen hier: Ich benutze den einfachsten Code, um den Treiber zu starten und zu stoppen, aber jedes Mal, wenn ich meine Anwendung erneut starte, werde ich mit der Website blockiert, während ich diese Seite mit dem Chrome Browser öffnen kann. Chrom schließen, immer wieder öffnen, ohne blockiert zu werden.

var driver = new ChromeDriver(); 
driver.Navigate().GoToUrl("https://italianembassy.ir"); 
// do my crawling 
driver.Quit(); 

Ich verstehe es eigentlich nicht. Der Chrome-Browser kann oft auf die Site zugreifen, aber der Chrome-Treiber kann nur einmal. Wenn ich meine Anwendung erneut laufe, werde ich blockiert (Neustart des Modems erforderlich).

Vermisse ich etwas über das sichere Abschalten des Fahrers?

Fehlt Selenuim einige Fähigkeiten? Ist es unmöglich, dies aufgrund der Sicherheit auf der Website zu erreichen? (Ich bin nicht gut in Netzwerksicherheit)

Ich wäre wirklich froh, wenn Sie mir helfen, dieses Problem zu lösen oder einen logischen Grund über die Unmöglichkeit dieser Operation geben .

Vielen Dank im Voraus

+1

Wenn normale Chrome arbeiten daran, das ChromeDriver Profil fine..Then ändern von Standardprofil zu laden .. – Madhan

+0

Nizza Tipp! Es funktionierte für mich, noch besser, dass das Chrom selbst Dank eine Million Madhan. Ich kenn das als gelöst Aber ich will immer noch wissen, was dahinter steckt. Welche Auswirkungen hat das Profil auf das Verhalten des Webtreibers? Ich würde mich freuen, es zu verstehen. Danke nochmal Madhan – Efe

Antwort

0

Schöner Tipp!

Es funktionierte für mich, noch besser, dass das Chrom selbst

var driverOptions = new ChromeOptions(); 
driverOptions.AddArguments($"user-data-dir=C:/Users/{Environment.UserName}/AppData/Local/Google/Chrome/User Data/Default"); 
var driver = new ChromeDriver(driverOptions); 

ich diese Marke als gelöst Aber noch wollen wissen, was dahinter steckt. Welche Auswirkungen hat das Profil auf das Verhalten des Webtreibers? Ich würde mich freuen, es zu verstehen.

Thanks again Madhan

Verwandte Themen