2016-06-17 8 views
2

Wenn ich mein Python Selen Skript im Chrome Treiber ausführe, erhalte ich jedes Mal, wenn eine Seite geladen wird, drei der folgenden Fehlermeldungen, obwohl alles gut funktioniert. Gibt es eine Möglichkeit, diese Nachrichten zu unterdrücken?Chrome Driver Handshake fehlgeschlagen Fehlermeldung Selenium

[24412:18772:0617/090708:ERROR:ssl_client_socket_openssl.cc(1158)] handshake failed; returned -1, SSL error code 1, net_error -100

+0

Dies könnte ein Zeichen dafür sein, dass die Website ein Zertifikat benötigt, das nicht im Zertifikatsspeicher Ihres Webbrowsers enthalten ist. SSL verfügt über dieses Zertifikataustausch-Handshake-Protokoll, das bestanden werden muss, bevor es weiter geht. –

Antwort

2

Sie erhalten diesen Fehler, wenn der Browser Sie auffordert, das Zertifikat von der Website zu akzeptieren. Sie können festlegen, dass diese Fehler standardmäßig ignoriert werden, um diese Fehler zu vermeiden.

Für Chrome, müssen Sie --ignore-Zertifikat-Fehler und --ignore-Zertifikat-Fehler ChromeOptions() Argument hinzuzufügen:

options = webdriver.ChromeOptions() 
options.add_argument('--ignore-certificate-errors') 
options.add_argument('--ignore-ssl-errors') 
driver = webdriver.Chrome(chrome_options=options) 

Für den Firefox , müssen Sie setzen accept_untrusted_certs FirefoxProfile() Option zu True:

profile = webdriver.FirefoxProfile() 
profile.accept_untrusted_certs = True 
driver = webdriver.Firefox(firefox_profile=profile) 

Für den Internet Explorer, müssen Sie acceptSslCerts gewünschte Fähigkeit setzen:

capabilities = webdriver.DesiredCapabilities().INTERNETEXPLORER 
capabilities['acceptSslCerts'] = True 
driver = webdriver.Ie(capabilities=capabilities) 
0

ich das gleiche Problem gegenüberstand. Das Problem war, dass ich die Systemeigenschaft webdriver.chrome.driver auf chrome.exe gesetzt habe. Aber man sollte chromedriver.exe herunterladen und den Dateipfad als Wert auf webdriver.chrome.driver Systemeigenschaft setzen.

Sobald dies eingestellt ist, hat alles gut funktioniert.

1

Für mich wurde es gelöst nach dem Schreiben von Code wie unten in Chrome-Optionen, Änderung von oben war Antwort spki-Liste enthalten.

options = webdriver.ChromeOptions() 
options.add_argument('--ignore-certificate-errors-spki-list') 
options.add_argument('--ignore-ssl-errors') 
driver = webdriver.Chrome(chrome_options=options) 
Verwandte Themen