В настоящее время я использую HtmlUnitDriver, и хотя я могу установить имя пользователя, я получаю сообщение об ошибке, что Selenium не может найти поле пароля. Я использую JavascriptExecutor, чтобы установить эти значения в форме песочницы PayPal, но я все еще не могу пройти шаг пароля.
HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.CHROME)
JavascriptExecutor executor = (JavascriptExecutor)driver
driver.setJavascriptEnabled(true)
driver.get(url)
log.debug "setting username"
Thread.sleep(5000)
if(driver.findElement(By.xpath("//*[@id='email']")).displayed){
executor.executeScript("document.getElementById('email').value = 'email';")
log.debug "Username was set"
} else {
log.debug "We never set the username!"
}
if(driver.findElement(By.xpath("//*[@id='password']")).displayed){
executor.executeScript("document.getElementById('password').value='password';")
} else {
log.debug "We never set the password."
}
Я понимаю, что я сплю там, и это плохая практика для тестирования Selenium, но я в значительной степени здесь сообразителен. В этом случае URL-адрес является ссылкой для экспресс-оплаты, которая выглядит примерно так: https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=#################
Любая помощь будет принята с благодарностью!