在SeleniumWebDriver中通过Java脚本执行器传递变量

在SeleniumWebDriver中通过Java脚本执行器传递变量,java,javascript,selenium,Java,Javascript,Selenium,我想向javascript传递一个java变量 这是我代码的一部分: String localArray[][] = new String[50000][9]; String strContratoNumero; for(int i=1; i<10;i++){ strContratoNumero = localArray[i][0]; 但它不起作用 您能告诉我如何通过上述命令中的变量发送值吗 PS:我从excel表格中获取数据。。但是不要担心,因为这部分正在工作。为什么不使用字

我想向javascript传递一个java变量

这是我代码的一部分:

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

for(int i=1; i<10;i++){
    strContratoNumero = localArray[i][0];
但它不起作用

您能告诉我如何通过上述命令中的变量发送值吗


PS:我从excel表格中获取数据。。但是不要担心,因为这部分正在工作。

为什么不使用字符串连接呢

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

我不明白你所展示的
循环是怎么回事。你说它不起作用,但你没有说它是如何起作用的。你有Java异常吗?你有JavaScript错误吗?有什么事情没有发生吗?你想做的是完全可行的,但是如果没有正确的细节,很难知道你的情况有什么问题。好吧,这将一直有效,直到OP在字符串中有引号应该传递给JavaScript端的情况下尝试这样做。(对于合同号来说,这可能不是一个很大的风险,但通常可能是一个问题。)OP想要做的是将字符串作为参数传递。我一直在做。是的,这当然是可行的。提供另一种选择
:)
((JavascriptExecutor)driver).executeScript("document.getElementById('txtNr_Contrato_Plano_Trab').value='"+strContratoNumero.substring(0,9)+"'");