我正在尝试接受用户输入,然后将其存储到变量中,并且希望将该输入用于我的程序。在启动URL之前提示用户在硒web驱动程序中输入
这是我的代码,代码是要求用户输入,但不加载URL。它只是启动驱动程序。请有人纠正我。
当前的行为:
- 启动驱动器(IE显示消息“这是wendriver服务器的初始启动页”
- 在提示和点击询问的提示。我把我的输入OK。 完蛋了..是没有得到执行的代码之后,请帮我
public class app{
public static void main(String[] args) throws Throwable
{
System.setProperty("webdriver.ie.driver", "C:\\Automation\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.promptResponse=prompt('Please enter the USER ID')");
if(isAlertPresent(driver)) {
// switch to alert
Alert alert = driver.switchTo().alert();
// sleep to allow user to input text
Thread.sleep(10000);
// this doesn't seem to work
alert.accept();
String ID = (String) js.executeScript("return window.promptResponse");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("my application URL");
driver.findElement(By.name("USERID")).sendKeys("username");
driver.findElement(By.name("user_pwd")).sendKeys("mypwd");
driver.findElement(By.name("submit")).submit();
.......
......
// some more code which is doing my application fucntionality
.......
......
........
private static boolean isAlertPresent(WebDriver driver) {
try
{
driver.switchTo().alert();
return true;
} // try
catch (NoAlertPresentException Ex)
{
return false;
}
}
}
IE显示消息“这是Wendriver服务器的初始启动页面”对我来说还行。但是你在哪里找到'Alert'或'User input prompt'?你能分享一个相同的快照吗? – DebanjanB
新增了屏幕截图。让我知道你是否无法查看 – Loga
如果你手动接受提示而不是使用'alert.accept()',会发生什么? –