How to handle browser login popup using Selenium & Java

£可爱£侵袭症+ 提交于 2019-12-02 18:19:13

问题


The website that I am trying to automate has a authentication popup that appears when someone visits it. I tried the following code but Chrome immediately throws no alert present exception on the switchTo() line of the code. Firefox does not seem to be working. I am currently using Selenium 3.6.0 with the latest binaries of these browsers. Can someone please help me out?

driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get("https://staging.brightsociety.com/");
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
alert.authenticateUsing(new UserAndPassword(username, password));
driver.switchTo().defaultContent();

http://staging.brightsociety.com

https://i.stack.imgur.com/uMsbm.png


回答1:


Selenium do not handle it by switchto command because this is something that is browser specific instead of website.

Solution 1:

driver.get("http://username:password@url.com");

But problem with this method is that as you traverse to multiple pages the popup will appear again and again which is again difficult to handle.

Solution 2: (Recommended)

AutoIt script, Download AutoIt here And Find the Script for Authentication PopUp here




回答2:


Do you need check it or pass it? If you need to pass, put login and password in URL.

http://username:password@your-web-site.com


来源:https://stackoverflow.com/questions/47173651/how-to-handle-browser-login-popup-using-selenium-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!