Comment remplacer l'authentification de base dans selenium2 avec Java à l'aide de chrome pilote?
Comment remplacer l'authentification de base dans selenium2 chrome pilote?
Je suis confronté à un problème dans mon projet où chrome "Authentification requise" popup est à venir qui bloque webdriver pour poursuivre la navigation.
Veuillez trouver ci-joint la capture d'écran pour la même chose.
Je suis à l'aide de code suivant pour instancier chrome pilote,
private WebDriver driver;
@Override
protected void setUp() throws Exception {
super.setUp();
System.setProperty("webdriver.chrome.driver", "C:/Selenium/chromedriver.exe");
driver = new ChromeDriver();
}
@Override
protected void tearDown() throws Exception {
//TODO Auto-generated method stub
super.tearDown();
}
Pourriez-vous s'il vous plaît aidez -
Merci,
Merci de voir l'Authentification de BASE en Sélénium 2 - mise en place pour FirefoxDriver, ChromeDriver et IEdriver?
c'est dire abt interface htmlunit cadre et j'ai essayé de mettre en œuvre la même dans mon projet. mais le code ne fonctionne pas, pourquoi b'se ses pas Selenium webdriver code. svp aider avec selenium webdriver code. merci
c'est dire abt interface htmlunit cadre et j'ai essayé de mettre en œuvre la même dans mon projet. mais le code ne fonctionne pas, pourquoi b'se ses pas Selenium webdriver code. svp aider avec selenium webdriver code. merci
OriginalL'auteur ABCDEFG | 2012-03-27
Vous devez vous connecter pour publier un commentaire.
J'ai lutté avec le même problème plus d'une heure et enfin @kenorb la solution m'a sauvé. Pour être bref, vous avez besoin d'ajouter une extension de navigateur qui ne l'authentification pour vous (depuis le Sélénium lui-même ne peut pas faire ça!).
Ici est de savoir comment il fonctionne pour Chrome et Python:
background.js
N'oubliez pas de remplacer YOUR_PROXY_* à vos paramètres.
manifeste.json
Ajouter le créé proxy.zip comme une extension
Que c'est. Pour moi, cela a fonctionné comme un charme. Si vous avez besoin de créer proxy.zip dynamique, ou besoin de PHP par exemple, alors allez à la post original
Salut Mike, j'ai essayé d'obtenir votre exemple de travail, mais il a échoué. Auriez-vous l'esprit d'avoir un coup d'oeil à ma question? J'ai un exemple sur Github stackoverflow.com/questions/44458165/...
Je ne pouvais pas obtenir que cela fonctionne, mais quelqu'un a posté une réponse dans stackoverflow.com/questions/44458165/... qui n'
Mike, je n'ai pas réussi avec ce journal: joxi.net/LmG3OVNTRbEMam Les dernières lignes sont :
WebDriverException: Message: unknown error: cannot process extension #1 from unknown error: cannot read manifest (Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 10.0.14393 x86_64)
des conseils?OriginalL'auteur Mike
Je pense que vous parlez d'utiliser l'Authentification NTLM (l'authentification intégrée de windows) pas l'Authentification de Base (où vous fournisseur de vos informations d'identification dans l'URL). En supposant que c'est ici que vous pouvez essayer pour l'exécution de NTML auth dans chrome:
Approche 1
Passez à Internet Explorer et ouvrez "Options Internet". Suivez les étapes suivantes:
Après ces changements, votre chrome authentification devrait fonctionner. Si vous vous demandez comment les paramètres d'internet explorer à effet de chrome comportement, google Chrome utilise IE paramètres de sécurité pour l'authentification.
Quelques bonnes ressources /crédits:
Approche 2
Ajouter votre site à intranet Local et ne pas changer quoi que ce soit pour l'authentification de l'utilisateur. Par défaut, la deuxième option (connexion Automatique uniquement dans les sites Intranet) est sélectionné.
Oui, parce que quand j'ai répondu à cette question par Chrome, utilisé pour tirer la sécurité de l'information à partir d'IE. N'ai pas vérifier si c'est valable aujourd'hui.
Approche 1 bien travaillé avec Chrome 55.0.2883.87 m (64-bit), n'est-ce pas, essayez la méthode 2.
OriginalL'auteur Rohit
Vous pouvez essayer d'ajouter les informations d'identification de connexion à l'url en get (en Java):
L'authentification de base n'a pas un très bon support en Sélénium, comme vous l'avez trouvé. Il y a une demande de fonctionnalité sur la page du projet, et il y a plusieurs commentaires et solutions énumérées. Vous pourriez vouloir vérifier it out ici
Fonctionne pour moi avec Selenium WebDriver
J'ai écrit mon code comme ci-dessus. Mais malheureusement, ça ne fonctionne pas.
Cela fonctionne pour être avec ChromeDriver
OriginalL'auteur kenki
J'arrive à faire, que le fait d'envoyer les informations d'identification à deux reprises. Je ne sais pas pourquoi, mais la deuxième fois que le navigateur envoie le paquet, l'en-tête d'authentification va de pair avec l'authentification de base.
Mon code (à l'aide de C#):
Il a travaillé pour moi
OriginalL'auteur Thiago
En dehors de la configuration de Proxy Du Réseau Des Préférences, vous pouvez définir
http_proxy
dans/etc/environment
.Autre méthode consiste à utiliser Chrome HTTP Proxy Privé (qui est basé sur Chrome-proxy helper).
Ici est en PHP par exemple (trouvé dans le fichier README):
La même logique devrait fonctionner pour d'autres langues.
Plus de solution portable est signalé déjà sur SeleniumHQ GitHub.
Voir aussi:
OriginalL'auteur kenorb