当我从Eclipse(selenium)启动一个网站时,会弹出一个认证框,如下所示:
这里我无法输入用户名和密码,以下是我尝试的内容:
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
答案 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...',
],