Я пишу простой Java-код, который использует Selenium ChromeDriver.
Поток прост: драйвер заходит на сайт -> находит элемент HTML и нажимает на него -> всплывающее окно аутентификациипоявляется -> ...
Но тут возникает проблема.Программа не может продолжить после команды click, которая: "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");
}
Экран после команды «driver.get (» http://somesite.com/")"
Экран после команды щелчка. Появляется всплывающее окно аутентификации