我已经尝试过这段代码,但我没有做任何事情。可能是因为它不处理这种警报。
driver.switchTo().alert().sendKeys("asd");
// Handling Password alert
driver.switchTo().alert().sendKeys("asd");
driver.switchTo().alert().accept();
我在这里遗漏了什么吗?感谢您的帮助。
最佳答案
您可以使用 Java 机器人类来完成此操作。
//set first variable in system clipboard
StringSelection variable1 = new StringSelection("username");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(variable1,null);
//use robot class to paste the content
Robot r = new Robot();
r.keyPress(KeyEvent.VK_CONTROL);
r.keyPress(KeyEvent.VK_V);
r.keyRelease(KeyEvent.VK_V);
r.keyRelease(KeyEvent.VK_CONTROL);
//use robot class to enter tab, so the focus will be shifted in to next field
r.keyPress(KeyEvent.VK_TAB);
r.keyRelease(KeyEvent.VK_TAB);
//set second variable in system clipboard
StringSelection variable2 = new StringSelection("password");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(variable2,null);
//use robot class to paste the content
r.keyPress(KeyEvent.VK_CONTROL);
r.keyPress(KeyEvent.VK_V);
r.keyRelease(KeyEvent.VK_V);
r.keyRelease(KeyEvent.VK_CONTROL);
使用机器人类来按 Tab,因此如果是 ok 按钮,焦点将转移到下一个字段,使用机器人类来输入 Enter 键,否则再次使用 Tab
r.keyPress(KeyEvent.VK_TAB);
r.keyRelease(KeyEvent.VK_TAB);
r.keyPress(KeyEvent.VK_ENTER);
r.keyRelease(KeyEvent.VK_ENTER);
关于java - 如何使用 Java 处理 Selenium 的代理身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60149158/