2017-10-06 46 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); 
相關問題