2016-07-06 4 views
11

Ich versuche die Python-Selenium-API (Version 2.53.6) zu verwenden, um GUI-Tests in verschiedenen Browsern durchzuführen. Wenn ich versuche, den IE (11.0.10240) folgendermaßen zu verwenden (Windows Server 2012 R2 Standard, 64 Bit); mit Authentifizierung:Wie verwende ich den IE-Webdriver von Selenium für Python (Fehler beim Navigieren durch den Fehler)?

driver = webdriver.Ie() 
driver.get("http://user:[email protected]") 

dann habe ich die folgende Fehlermeldung erhalten:

selenium.common.exceptions.WebDriverException: Message: Failed to navigate to http://user:[email protected] This usually means that a call to the COM method IWebBrowser2::Navigate2() failed. 

Gibt es eine Möglichkeit, diesen Fehler zu beheben?

Nachtrag:

  • Ich habe die 32-Bit-Version der IE-Treiber zu verwenden versuche, kein Erfolg (gleichen Fehler)
  • ich die Registrierung geändert habe, wie here erklärte, kein Erfolg (gleicher Fehler)
  • Ich habe "Geschützten Modus aktivieren" für alle Zonen eingestellt (auch empfohlen here).
+0

Wenn Sie versuchen, zu einer anderen Website zu navigieren, funktioniert das? Es kann mit der Verwendung von http zu tun haben ... Auch wenn Sie sagen, dass Sie "Geschützten Modus aktivieren" eingestellt haben, meinen Sie, dass Sie es deaktivieren, richtig? Versuchen Sie auch, mit den Einstellungen in Internetoptionen> Erweitert unter Sicherheit Abschnitt –

Antwort

1

Beantwortung nicht direkt die Frage, aber ich konnte es nicht reproduzieren, wenn IE11 unter Windows 10 durch BrowserStack und Öffnung mit this http auth protected page:

from selenium import webdriver 

desired_cap = {'os': 'Windows', 'os_version': '10', 'browser': 'IE', 'browser_version': '11.0'} 

driver = webdriver.Remote(
    command_executor='http://usename:[email protected]:80/wd/hub', 
    desired_capabilities=desired_cap) 

driver.get("http://httpwatch:[email protected]/httpgallery/authentication/authenticatedimage/default.aspx?0.7349707232788205") 

Keine Fehler und ich das Bild zu sehen, die hinter dem HTTP Auth ist .

Verwendung von Selen 2.53.5.

+0

zu spielen. Wenn ich dies versuche, bekomme ich einen 404-Fehler in der 'webdriver.Remote' Zeile. Ich bevorzuge es auch, einen Treiber zu bekommen, wie er in meinem Beispielcode angegeben ist, d. H. Eine Methode zu haben, die den richtigen und funktionierenden Treiber zurückgibt (ohne vorher eine spezifische URL angeben zu müssen ...). – Alex

+0

@Alex die benutzerdefinierte 'command_executor'-URL hier ist nur, weil ich auf dem Mac bin und den Remote-Browser-Selenium-Server-Server verwenden und" IE "feuern dort. Dann navigiere ich zu der bestimmten "httpwatch" -Seite, nur um zu zeigen, dass ich auf das Bild hinter der grundlegenden http-Auth zugreifen kann. Wenn Sie dieses Beispiel ausführen möchten, müssen Sie 'Benutzername' und' Schlüssel' durch Ihre spezifischen Browser-Anmeldeinformationen ersetzen. – alecxe

+0

Ich möchte keinen Browserstack verwenden ... Vielleicht funktioniert Selen nicht für den IE? – Alex

0

Haben Sie es auf diese Weise versucht?

driver.current_url(" http://user:[email protected] ")

+0

Scheint wie 'current_url' ist eine Zeichenfolge, die ich nicht anrufen kann. Ich erhalte einen Fehler 'TypeError: 'str' Objekt ist nicht aufrufbar' ... – Alex

+0

Haben Sie etwas dagegen, ein paar mehr Details zu teilen? Wie > Welche Version von Python verwenden Sie? > Welche Header-Importe haben Sie im Programm aufgerufen? > Veröffentlichen Sie grundsätzlich Ihren gesamten Code, wenn möglich? – Technologeek

Verwandte Themen