How to handle authentication popup with Selenium WebDriver using Java

前端 未结 7 1788
伪装坚强ぢ
伪装坚强ぢ 2020-11-22 05:36

I\'m trying to handle authentication popup using the code below:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference(\"network.http.phishy-u         


        
相关标签:
7条回答
  • 2020-11-22 06:04

    If you have to deal with NTLM proxy authentication a good alternative is to use a configure a local proxy using CNTLM.

    The credentials and domain are configured in /etc/cntlm.conf.

    Afterwards you can just use you own proxy that handles all the NTLM stuff.

    DesiredCapabilities capabilities = DesiredCapabilities.chrome();
    
    Proxy proxy = new Proxy();
    proxy.setHttpProxy("localhost:3128");
    capabilities.setCapability(CapabilityType.PROXY, proxy);
    
    driver = new ChromeDriver(capabilities);
    
    0 讨论(0)
  • 2020-11-22 06:07

    The Alert Method, authenticateUsing() lets you skip the Http Basic Authentication box.

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

    As of Selenium 3.4 it is still in beta

    Right now implementation is only done for InternetExplorerDriver

    0 讨论(0)
  • 2020-11-22 06:07

    Don't use firefox profile and try below code:

    driver.get("http://UserName:Password@Example.com");
    

    If you're implementing it in IE browser, there are certain things which you need to do.

    In case your authentication server requires username with domain like "domainuser" you need to add double slash / to the url:

    //localdomain\user:password@example.com
    
    0 讨论(0)
  • 2020-11-22 06:07

    Try following solution and let me know in case of any issues:

    driver.get('https://example.com/')
    driver.switchTo().alert().sendKeys("username" + Keys.TAB + "password");
    driver.switchTo().alert().accept();
    

    This is working fine for me

    0 讨论(0)
  • 2020-11-22 06:08

    This should work for Firefox by using AutoAuth plugin:

    FirefoxProfile firefoxProfile = new ProfilesIni().getProfile("default");
    File ffPluginAutoAuth = new File("D:\\autoauth-2.1-fx+fn.xpi");
    firefoxProfile.addExtension(ffPluginAutoAuth);
    driver = new FirefoxDriver(firefoxProfile);
    
    0 讨论(0)
  • 2020-11-22 06:12

    I faced this issue a number of times in my application.

    We can generally handle this with the below 2 approaches.

    1. Pass the username and password in url itself

    2. You can create an AutoIT Script and call script before opening the url.

    Please check the below article in which I have mentioned both ways:
    Handle Authentication/Login window in Selenium Webdriver

    0 讨论(0)
提交回复
热议问题