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

how to execute javascript prompt in selenium webdriver and wait for accept input

本文关键字:等待 输入 提示 javascript seleniumwebdriver 执行      更新时间:2023-09-26

你能帮我解决这个问题吗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

}`

在Selenium(2.47.0)的当前版本中,您将无法执行此操作。如果Selenium看到意外的JavaScript对话,它将抛出一个错误。这意味着,一旦你触发一些JavaScript,就会出现弹出窗口,就会抛出一个错误。

是的,它将使脚本失败,并出现异常。请看,在这里,您正试图使用"javascriptAlert.getText()"访问"确认警报上的文本"。然而,就在前一行中,您使用accept方法杀死了"确认警报"。

更好的方法是,将文本保存在一个变量中,然后打印。不知怎的像

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

试试这个,让我知道。