2014-10-30 69 views
0

我想傳遞一個Java變量的JavaScript ..通過Java腳本執行在硒傳遞變量的webdriver

這是我的代碼部分:

String localArray[][] = new String[50000][9]; 
String strContratoNumero; 

for(int i=1; i<10;i++){ 
    strContratoNumero = localArray[i][0]; 

我已經試過這樣:

((JavascriptExecutor)driver).executeScript("document.getElementById('txtNr_Contrato_Plano_Trab').value=arguments[0]",strContratoNumero.substring(0,9)); 

但它不起作用。

你能告訴我如何通過上述命令通過變量發送值?

PS:我從Excel表中獲取數據..但不要擔心,因爲這部分工作。

+0

我不明白你爲''循環顯示的交易。你說它不起作用,但你不說它不起作用。你得到一個Java異常?你會得到一個JavaScript錯誤?有什麼事情沒有發生?你想做的事很可行,但沒有正確的細節,很難知道你的情況有什麼問題。 – Louis 2014-10-30 16:17:21

回答

0

爲什麼不直接使用字符串連接?

((JavascriptExecutor)driver).executeScript("document.getElementById('txtNr_Contrato_Plano_Trab').value='"+strContratoNumero.substring(0,9)+"'"); 
+0

那麼,這將工作,直到OP在應該傳遞給JavaScript端的字符串中有引號的情況下嘗試使用。 (合同號碼可能不是一個巨大的風險,但通常可能會成爲一個問題。)OP想要做的事情是通過將字符串作爲參數來完成。我一直這樣做。 – Louis 2014-10-30 16:19:19

+0

是的,這當然是可行的。提供另一種':)' – sircapsalot 2014-10-30 16:59:01