2017-10-06 29 views
0

我有这个下面的代码,将在Mozilla的Web浏览器中创建一个提示框:需要将来自提示框(Javascript)的用户输入放入String变量中。我该怎么做?

JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("window.promptResponse=prompt('Please enter site code:')"); 

我需要的是用户输入,被放置到一个字符串变量: 即。 String userInput ='来自提示框(例如站点代码)的值';

有人可以帮我写代码吗?我尝试了许多不同的方式。它没有工作。下面是我试过的方法之一:

方法1:

Alert alert = driver.switchTo().alert(); 
Thread.sleep(5000); 
String userInput = (String) js.executeScript("return window.promptResponse");  
alert.accept(); 
+1

Java!= Javascript。 – user2023608

回答

1

使用提示将允许你从用户获得输入。

var str = prompt("enter your site code..."); 

希望这有助于!

0

希望这会有所帮助! :))

Alert alert = driver.switchTo().alert(); 
 
Thread.sleep(5000); 
 
String userInput = (String) js.executeScript("return prompt('Please enter site code:')");  
 
alert.accept();

+0

我没有看到任何区别?你忘了修改一些东西吗? –

+0

'js.executeScript(“return prompt('Please enter site code:')”);' –

+0

它没有按预期工作。但我设法调整它,使其工作!虽然谢谢!非常感激。以下是现在可用的代码: Alert alert = driver.switchTo()。alert(); Thread.sleep(5000); alert.accept(); String code =(String)js.executeScript(“return window.promptResponse”); System.out.println(“code is:”+ code); –

0

下面是使我获得用户输入的代码。感谢所有帮助!

Alert alert = driver.switchTo().alert(); 
Thread.sleep(5000); 
alert.accept(); 
String code = (String) js.executeScript("return window.promptResponse"); 
System.out.println("code is: "+code); 
相关问题