在“身份验证”弹出窗口中输入用户名/密码

时间:2015-06-09 10:49:26

标签: java eclipse selenium awtrobot

当我从Eclipse(selenium)启动一个网站时,会弹出一个认证框,如下所示:

enter image description here

这里我无法输入用户名和密码,以下是我尝试的内容:
1)切换手柄以弹出并识别Xpath
2)在URL中发送用户名和密码(How to handle login pop up window using Selenium WebDriver?
3)Sikuli(但在不同系统中执行时需要捕获图像)
4)使用机器人功能

        Robot rb = new Robot();
        StringSelection username = new StringSelection("XXXXX");
        System.out.println("Entering username");
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(username, null);            
        rb.keyPress(KeyEvent.VK_CONTROL);
        rb.keyPress(KeyEvent.VK_V);
        rb.keyRelease(KeyEvent.VK_V);
        rb.keyRelease(KeyEvent.VK_CONTROL);

        //tab to password entry field
        rb.keyPress(KeyEvent.VK_TAB);
        rb.keyRelease(KeyEvent.VK_TAB);
        Thread.sleep(2000);

        //Enter password by ctrl-v
        StringSelection pwd = new StringSelection("YYYYYYY");
        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(pwd, null);
        rb.keyPress(KeyEvent.VK_CONTROL);
        rb.keyPress(KeyEvent.VK_V);
        rb.keyRelease(KeyEvent.VK_V);
        rb.keyRelease(KeyEvent.VK_CONTROL);

        //press enter
        rb.keyPress(KeyEvent.VK_ENTER);
        rb.keyRelease(KeyEvent.VK_ENTER);

以上都没有工作到现在,刚到达网站(driver.get(URL))后控件似乎没有回到eclipse

2 个答案:

答案 0 :(得分:0)

使用AutoIT脚本填充该窗口。这是在Windows中使用Selenium优雅处理此问题的唯一方法。在http://www.toolsqa.com/selenium-webdriver/autoit-selenium-webdriver/

使用AutoIt 检查处理基于Windows的身份验证在Selenium中弹出

答案 1 :(得分:0)

以下代码应该有效,可以重构:)

'attributes' => [
    'POLICY.HOLDER.NAME' => 'Some custom string here...',
],