如何在selenium webdriver中执行javascript提示并等待接受输入

时间:2015-03-30 16:40:37

标签: java javascript selenium selenium-webdriver

你能帮我解决一下我的问题 1.如何在selenium webdriver中执行javascript提示 2.在web驱动程序等待该用户输入并接受

之后

将此值用于我的代码。

感谢先进。

吹码。

 if (driver instanceof JavascriptExecutor) {
     ((JavascriptExecutor) driver).executeScript(""
            + "var aa =prompt('Please enter your name', 'Harry Potter');");

     Alert javascriptAlert = driver.switchTo().alert();
     driver.switchTo().alert().sendKeys("Helllo");
     javascriptAlert.accept();
        System.out.println(javascriptAlert.getText()); // Get text on alert box


}`

2 个答案:

答案 0 :(得分:0)

在目前的Selenium(2.47.0)修订版中,您将无法执行此操作。如果Selenium看到意外的JavaScript对话,则会抛出错误。这意味着只要您触发一些会弹出弹出窗口的JavaScript,就会抛出错误。

答案 1 :(得分:0)

是的,它会使脚本失败并出现异常。 请参阅,在这里您尝试使用“javascriptAlert.getText()”访问“确认警报上的文本”。但是,就在前一行中,您使用accept方法杀死了“确认警报”。

更好的方法是将文本保存在变量中然后打印。不知何故喜欢 -

-- Previous code --
    driver.switchTo().alert().sendKeys("Helllo");
    string valueTextBox = javascriptAlert.getText();  
    javascriptAlert.accept();
    System.out.println(valueTextBox); 

试试这个并告诉我。