2014-10-30 51 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