我正在编写一个使用Selenium ChromeDriver的简单Java代码。
流程很简单:驱动程序转到网站->查找HTML元素并单击它->出现身份验证弹出窗口-> ...
但是这里出现了问题。单击命令“ href.click()
”后,程序无法继续。
我手动在验证弹出窗口中输入了用户名和密码,打印命令仅在此之后起作用。
即使我不提供身份验证,在单击命令完成后,仍应激活打印命令。但是,在这种情况下,事实并非如此。
这意味着,单击命令“ href.click()
”仅在身份验证弹出窗口已完成时结束。但是由于单击是原子命令,所以我应该如何以及何时输入身份验证详细信息?
我尝试使用警报,或在单击行之后添加了任何代码行,但没有一个起作用。
我也尝试添加“ driver.get("http://username:password@somesite.com/")
”,但是它也不起作用。
public void site_header_is_on_home_page() {
System.setProperty("webdriver.chrome.driver", "...\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://somesite.com/");
WebElement href = driver.findElement(By.xpath("//a[@href='https://xyz.../']"));
href.click();
//Nothing works after this line.//
System.out.println("cccc");
}
The screen after the "driver.get("http://somesite.com/")" command
The screen after the click command. An authentication pop-up is issued