从executioncript函数访问变量

Cat*_*hal 3 javascript selenium chai selenium-webdriver protractor

我想在测试期间使用browser.executescript动态设置一些数据.就像是:

var x;
browser.executeScript(function () {
  var something = x;
});
Run Code Online (Sandbox Code Playgroud)

但是x似乎超出了正在运行的函数的范围.有没有办法让我传递将在内部范围内的参数?

任何帮助都非常感谢C.

ale*_*cxe 11

传递内部参数arguments:

除脚本之外提供的任何参数都将作为脚本参数包含在内,并且可以使用arguments对象进行引用.参数可以是布尔值,数字,字符串或webdriver.WebElement.只要每个项目符合前面提到的类型,数组和对象也可以用作脚本参数.

var x;
browser.executeScript(function (arguments) {
  var something = arguments[0];
}, x);
Run Code Online (Sandbox Code Playgroud)