当我执行以下代码时:
public class dbscbg {
public static void main(String[] args)
{
WebDriver driver = new FirefoxDriver();
driver.get("http://ip/link");
}
可以看到身份验证弹出窗口。
如何处理?
driver.switchTo().alert().sendKeys("fsdf");
答案 0 :(得分:0)
嗨,请按以下方式进行操作
// waiting till alert is visible
WebDriverWait wait = new WebDriverWait(driver, 10);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
or
// alert is already present
Alert alt = driver.switchTo().alert();
if password authentication is necessary then
alt.authenticateUsing(new UserAndPassword(uid, pwd));
如需了解更多信息,请访问http://learn-automation.com/handle-windows-authentication-using-selenium-webdriver/
<强>更新强>
如果上面没有工作那么请尝试如下,它肯定会工作。我使用过java机器人类
WebDriver driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://www.engprod-charter.net/");
Robot rb = new Robot();
//Enter user name by ctrl-v
StringSelection username = new StringSelection("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("password");
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);
希望这会对你有所帮助。