在 JavascriptExecutor 中修改 Java 变量
Modify Java variable within JavascriptExecutor
是否可以在 Selenium JavascriptExecutor 中修改 Java 变量的值?
我知道可以像 '"+myjavavar+"'
一样访问 JavascriptExecutor 中的 Java 变量,但我们如何修改它?
如果我使用 '"+myjavavar+"'= somenewvalue;
它会失败并出现错误 "invalid assignment left-hand side"
。
您可以通过 JavascriptExecutor
获取和设置 javascript 变量。要在测试会话期间在您执行的每个脚本中使用 "global" 变量,请将其保留在 global window
object 上。示例:
JavascriptExecutor js = (JavascriptExecutor) driver;
// set the value (note how the arguments are passed into)
js.executeScript("window.myvar = arguments[0];", "Test");
// get the value (note the "return")
String myvar = (String) js.executeScript("return window.myvar;");
System.out.println(myvar);
是否可以在 Selenium JavascriptExecutor 中修改 Java 变量的值?
我知道可以像 '"+myjavavar+"'
一样访问 JavascriptExecutor 中的 Java 变量,但我们如何修改它?
如果我使用 '"+myjavavar+"'= somenewvalue;
它会失败并出现错误 "invalid assignment left-hand side"
。
您可以通过 JavascriptExecutor
获取和设置 javascript 变量。要在测试会话期间在您执行的每个脚本中使用 "global" 变量,请将其保留在 global window
object 上。示例:
JavascriptExecutor js = (JavascriptExecutor) driver;
// set the value (note how the arguments are passed into)
js.executeScript("window.myvar = arguments[0];", "Test");
// get the value (note the "return")
String myvar = (String) js.executeScript("return window.myvar;");
System.out.println(myvar);