2016-07-06 51 views
11

Sto provando ad utilizzare l'API python-selenium (versione 2.53.6) per eseguire test della GUI su diversi browser. Quando provo a utilizzare IE (11.0.10240) nel modo seguente (Windows Server 2012 R2 Standard, 64 bit); utilizzando l'autenticazione:Come utilizzare il web explorer IE da selenio per python (errore di navigazione non riuscito)?

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

allora ottengo il seguente messaggio di errore:

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. 

c'è un modo per correggere questo errore?

Addendum:

  • Ho cercato di utilizzare la versione a 32 bit del driver IE, senza successo (lo stesso errore)
  • mi hanno cambiato il Registro di sistema come spiegato here, senza successo (lo stesso errore)
  • Ho impostato "Abilita modalità protetta" per tutte le zone (suggerito anche here).
+0

Se si tenta di navigare in un altro sito, funziona? Potrebbe avere a che fare con l'utilizzo di http ... Inoltre, quando dici di aver impostato "Abilita modalità protetta", vuoi dire che stai disabilitandolo, corretto? Inoltre, prova a giocare con le impostazioni in Opzioni Internet> Avanzate nella sezione Sicurezza –

risposta

1

Non rispondere direttamente alla domanda, ma non riuscivo a riprodurre quando si usa IE11 su Windows 10 attraverso BrowserStack e apertura 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") 

Nessun errore e vedo l'immagine che si trova dietro l'autenticazione HTTP .

Utilizzo del selenio 2.53.5.

+0

Se provo a farlo, ottengo un errore 404 nella riga 'webdriver.Remote'. Preferisco anche fortemente ottenere un driver come indicato nel mio codice di esempio, vale a dire avere un metodo che restituisce il driver corretto e funzionante (senza la necessità di specificare un URL specifico in anticipo ...). – Alex

+0

@Alex l'url 'command_executor' personalizzato qui è solo perché sono su mac e utilizzo il server di selenio del browser remoto e accendo' IE' lì. Quindi, navigo alla pagina specifica di "httpwatch" solo per dimostrare che posso accedere all'immagine dietro l'autenticazione http di base. Nota che se vuoi eseguire questo esempio, devi sostituire 'username' e' key' con le tue specifiche credenziali di browsstack. – alecxe

+0

Non voglio usare browsstack ... Forse il selenio non funziona per IE di proposito? – Alex

0

Hai provato a utilizzarlo in questo modo?

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

+0

Sembra che "current_url" sia una stringa che non posso chiamare. Ottengo un errore 'TypeError: 'str' object is not callable' ... – Alex

+0

Ti dispiace condividere qualche altro dettaglio? Come > Quale versione di Python stai usando? > Quali importazioni di intestazione hai chiamato nel programma? > In pratica, postare l'intero codice, se possibile? – Technologeek