问题是Selenium无法识别身份验证弹出窗口。据我所知,这是硒的局限性。您可以使用Java Robot操作填写用户名和密码来解决此问题。
public void handlePopup(){
//create java robot for keyboard simulations
Robot rb = new Robot();
//First set the username value to the system clipboard
StringSelection username = new StringSelection("your-user-name");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(username, null);
// Perform a control+v to paste the content into username field.
rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_CONTROL);
//tab to navigate to password field
rb.keyPress(KeyEvent.VK_TAB);
rb.keyRelease(KeyEvent.VK_TAB);
Thread.sleep(2000);
//set the password value to the system clipboard
StringSelection pwd = new StringSelection("your-password");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(pwd, null);
// Perform a control+v to paste the content into password field.
rb.keyPress(KeyEvent.VK_CONTROL);
rb.keyPress(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_V);
rb.keyRelease(KeyEvent.VK_CONTROL);
//press enter to login
rb.keyPress(KeyEvent.VK_ENTER);
rb.keyRelease(KeyEvent.VK_ENTER);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句