5

我正嘗試在我的新Webdriver腳本之一中處理身份驗證彈出窗口。我有一個針對IE的工作解決方案,但我正在努力與Chrome。 IE就如同[本頁]上的建議一樣簡單:How to handle authentication popup with Selenium WebDriver using Java。雖然有幾位評論者指出,該解決方案對於Chrome並不適用,但該線程並未展示Chrome的絕佳解決方案。問題是,當您嘗試在Chrome上執行以下代碼時,登錄彈出窗口不是Alert。如何在使用Java的Selenium WebDriver處理Chrome中的身份驗證彈出窗口

WebDriverWait wait = new WebDriverWait(driver, 10);  
Alert alert = wait.until(ExpectedConditions.alertIsPresent());  
alert.authenticateUsing(new UserAndPassword(**username**, **password**)); 

這不是Windows級別()身份驗證彈出窗口,網頁只是密碼保護。我知道Stack Overflow上有這個問題的其他幾個實例,但最近我看不到2歲以上的人。我希望在2017年有更好的解決方案。預先感謝。

+1

你能分享這個網站嗎? – Guy

+1

我很想去,但是在過去的兩年裏我們遇到了一些安全問題,我知道我的經理會對我的分享鏈接感到緊張。這是一個面向公衆的開發網站,這就是爲什麼他們有密碼保護它。 –

+0

你看過嗎? http://seleniumwebdrivertrainings.com/how-to-perform-b​​asic-authentication-for-firefoxdriver-chromedriver-iedriver-in-selenium-webdriver/ – IamBatman

回答

2

這不是一個「受限制的」彈出窗口,可以通過在用戶名和密碼前加上地址來處理嗎?

而不是driver.get("http://www.domain.com/");driver.get("http://username:[email protected]");

+1

我試過這個,它對我不起作用。這可能是我們的網站提示憑據的方式的問題,或者我沒有正確設置Chrome來處理http:// user:[email protected]? –

+0

所以這就是答案。我正在嘗試執行「http://用戶名:[email protected]」。我需要做「httpS://用戶名:[email protected]」。 –

+0

@TravisNeedham我也在嘗試,但它不適合我。我的密碼已經包含@那麼在這種情況下我該如何處理?請建議 –

相關問題