你能帮我解决一下我的问题 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
}`
答案 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);
试试这个并告诉我。