2013-10-29 76 views
0

我想從Java代碼傳遞一個java變量到一個片段javascript。請問我該怎麼做?JavaScript運行到java:如何將java變量傳遞給一個代碼段JavaScript?

例如,從Java我想名爲 '索引' 一個java變量傳遞給一個片斷的javascript這樣

WebElement element = (WebElement) ((JavascriptExecutor)driver).executeScript("myJavascript.js") 

其中myJavascript.js是這一個:

var index=arguments[1]; return $('.title')[index]; 

我有受到網站http://docs.seleniumhq.org/docs/03_webdriver.jsp#introducing-the-selenium-webdriver-api-by-example 的啓發寫下面的代碼不行:

int index=0; 

for(int index = 0; index < counter; index++){ 

     WebElement element = (WebElement) ((JavascriptExecutor)driver).executeScript("var index=arguments[1]; return $('.title')[index];"); 
     System.out.println(element.getText()); 
    } 

上面的代碼工作正常,當我將索引的值設置爲0,1,2,....但我想每次從當前循環'for'的值從java獲取它。

謝謝。

回答

0

這應該工作:

for(int index = 0; index < counter; index++){ 
      WebElement element = (WebElement) ((JavascriptExecutor)driver).executeScript("return $('.title')[" + index + "];"); 
      System.out.println(element.getText()); 
     } 
0

如果我正確地得到你的問題,你需要做的是:

WebElement element = (WebElement) ((JavascriptExecutor)driver).executeScript("var index=arguments[1]; return $('.title')["+index+"];"); 
System.out.println(element.getText()); 

基本上你需要確保「指數」值從循環變量取 - 注意這裏的雙引號是在以上。

相關問題