2016-06-16 1 views
2

lors de l'utilisation écharde python firefox 47 marionette nouveau WebDriver, il donne l'erreur de certificat lors de l'accès au site que je veux, j'ai essayé d'accepter ssl certs avecaccepter ssl cert avec écharde python marionette firefox WebDrive

navigateur = navigateur (Firefox ', capabilities = {' marionette ': True,' acceptSslCerts ': True})

ou en utilisant trustAllSSLCertificates au lieu de acceptSslCerts, mais me donne toujours une erreur de certificat, quel est le problème?

Répondre

5

Le bug Firefox est maintenant résolu: https://github.com/mozilla/geckodriver/issues/93

Pour l'instant, vous devez installer la dernière version de Firefox nuit (52 ou 53) si vous souhaitez utiliser cette fonctionnalité tout de suite: https://nightly.mozilla.org/

Ensuite, le code suivant travail (sélénium Python seulement ici, mais je pense que vous pouvez remplacer « acceptSslCerts » avec les derniers: « acceptInsecureCerts » dans votre code)

from selenium import webdriver 
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 

caps = DesiredCapabilities.FIREFOX.copy() 
caps['acceptInsecureCerts'] = True 
ff_binary = FirefoxBinary("path to the Nightly binary") 

driver = webdriver.Firefox(firefox_binary=ff_binary, capabilities=caps) 
driver.get("https://expired.badssl.com") 

edit: Je ne sais pas comment passer le binaire nuit à Splinter bien - https://github.com/cobrateam/splinter/pull/437 - espérons que la version standard de Firefox sera livré sur 2017-03-06 https://wiki.mozilla.org/RapidRelease/Calendar

2

Je suis également confronté à ce problème.

Cela a été reconnu comme un bug. https://bugzilla.mozilla.org/show_bug.cgi?id=1103196

Il existe peut-être une solution de contournement que je n'ai pas encore essayé. Programmatically Install Certificate into Mozilla

+0

malheureusement la fonctionnalité de profil par défaut a été supprimée à partir de Firefox 46. http://forums.mozillazine.org/viewtopic.php?f=38&t=3002375 la seule façon de faire ce travail est de donner un profil existant spécifique chemin que vous utilisez normalement que vous avez ajouté une exception pour le certificat, au lieu de laisser Splinter pour créer un profil temporaire lors de l'exécution – Amr

1

modifier: il est pas nécessaire d'utiliser le firefox de nuit plus

La réponse de Rémi est correcte, merci. Je suis face à la même question en Java, dans le cas où quelqu'un d'autre tombe par hasard sur cette voici la solution Java:

DesiredCapabilities caps = DesiredCapabilities.firefox(); 
caps.setCapability("acceptInsecureCerts", true); 

FirefoxDriver driver = new FirefoxDriver(caps); 

il ny a pas un CapabilityType.ACCEPT_INSECURE_CERTS encore selon version 3.3.1 Sélénium et la CapabilityType.ACCEPT_SSL_CERTS ne fonctionne pas, ainsi utiliser "acceptInsecureCerts". Aussi le constructeur FirefoxDriver(binary, profile, capabilities) est obsolète mais AFAIK c'est la seule façon d'utiliser un binaire Firefox personnalisé (?).