2016-07-06 24 views
11

Próbuję użyć interfejsu API python-selenium (wersja 2.53.6) do wykonywania testów GUI w różnych przeglądarkach. Kiedy próbuję używać IE (11.0.10240) w następujący sposób (Windows Server 2012 R2 Standard, 64-bitowy); Korzystanie z uwierzytelniania:Jak korzystać ze sterownika internetowego IE z selenu dla Pythona (błąd nawigacji po błędzie)?

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

następnie pojawia się następujący komunikat o błędzie:

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. 

Czy istnieje sposób, aby naprawić ten błąd?

Uzupełnienie:

  • staram się korzystać z wersji 32-bitowego sterownika tzn bez powodzenia (ten sam błąd)
  • zmieniłem rejestr jak wyjaśniono here, bez powodzenia (ten sam błąd)
  • Ustawiłem opcję "Włącz tryb chroniony" dla wszystkich stref (również sugerowano here).
+0

Jeśli spróbujesz przejść do innej witryny, czy to działa? Może to być związane z używaniem http ... Ponadto, gdy mówisz, że ustawiłeś "Włącz tryb chroniony", masz na myśli to, że go wyłączasz, prawda? Spróbuj także grać z ustawieniami w Opcje internetowe> Zaawansowane w sekcji Zabezpieczenia –

Odpowiedz

1

nie bezpośrednio odpowiadając na pytanie, ale nie mogę odtworzyć go przy użyciu IE11 na Windows 10 przez BrowserStack i otwarcia 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") 

żadnych błędów i widzę obraz, który znajduje się za uwierzytelniania HTTP .

Korzystanie z selenu 2.53.5.

+0

Jeśli spróbuję tego, otrzymam błąd 404 w linii 'webdriver.Remote'. Ja również zdecydowanie wolę uzyskać sterownik, jak podano w moim przykładowym kodzie, tj. Mieć metodę, która zwraca poprawny i działający sterownik (bez potrzeby wcześniejszego określania konkretnego adresu URL ...). – Alex

+0

@Alex niestandardowy adres URL 'command_executor' jest tylko dlatego, że jestem na Macu i korzystam z serwera selli serwera zdalnych przeglądarek i rozpalam' IE' tam. Następnie przechodzę do konkretnej strony 'httpwatch', aby zademonstrować, że mogę uzyskać dostęp do obrazu za podstawowym uwierzytelnieniem http. Zauważ, że jeśli chcesz uruchomić ten przykład, musisz zamienić 'username' i' key' na swoje dane logowania do przeglądarki. – alecxe

+0

Nie chcę używać programu browserstack ... Może selen nie działa celowo w IE? – Alex

0

Czy próbowałeś używać go w ten sposób?

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

+0

Wygląda na to, że "current_url" jest ciągiem, którego nie mogę połączyć. Wystąpił błąd 'TypeError: 'obiekt' str 'nie jest możliwy do wywołania' ... – Alex

+0

Czy chcesz podzielić się kilkoma szczegółami? Podobnie jak > Jaką wersję pythonu używasz? > Którego importu nagłówków wywołałeś w programie? > Zasadniczo połóż cały swój kod, jeśli to możliwe? – Technologeek