Lorsque j'ouvre une page avec Selenium webDriver, je reçois une boîte de dialogue Chrome "Choisissez un certificat". Le certificat par défaut est le bon, il vous suffit de cliquer sur le bouton OK. Mais j'ai un problème avec ça. J'ai un code Python: et après cela, je veux faire quelque chose comme: p> ou p> Le problème est que le code cesse d'exécuter sur la ligne drv.get (" https://example.com.com / Login "). WebDriver attend que la page se charge. Et avant cette ligne, il n'y a pas de boîte de dialogue Chrome. P> Comment puis-je gérer cela? P> p>
3 Réponses :
Vous devrez utiliser quelque chose comme AutoIt: P>
http://www.autoitscript.com/site/autoiit/ p >
Pourquoi vous demandez? C'est une boîte de dialogue OS, que sélénium ne fonctionne pas et probablement ne manipulera jamais, vous devrez donc vous tourner vers d'autres solutions (en C #, vous devez utiliser des méthodes d'API Win32 natives pour cliquer sur le bouton par exemple). P>
Et que faites-vous sur Linux?
Les certificats sont gérés par le système d'exploitation, pas le navigateur. Supprimer tout sauf le certificat nécessaire à partir de votre boutique de certificats de navigateur, puis configurez le navigateur pour sélectionner automatiquement le certificat lorsqu'un seul certificat est présent. Vous pouvez également créer un profil de navigateur et lancer votre programme de lancer ce profil ou éviter les tests sur HTTPS. P>
Comment configurez-vous Chrome pour accepter le certificat par défaut sans demander?
Avant de manipuler tout ce qui est ici, ajoutez ci-dessous de sorte qu'il ne sera pas gelé dès que vous naviguez / Triggert Le certificat apparaît. remetber pour ajouter la bonne attente de retour plus tard.
getDriver().manage().timeouts().pageLoadTimeout(1000, TimeUnit.MILLISECONDS);