5

executeScript在 selenium web driver 中使用的方法,我发现了一个问题:

js.executeScript("var b='1'; ");
js.executeScript("alert(b)");

在我运行上面的代码之后,我想得到一个值为 is 的警报窗口1,但它说:

b is not defined

我的问题是:我定义b为一个全局变量,但为什么我以后不能得到它?

4

1 回答 1

15

将变量定义为

var b='1'

将范围限制为脚本的执行。Selenium 将 javascript 片段的执行包装到它们自己的脚本中,因此您的变量不会在脚本结束后继续存在。尝试

window.b = '1';

然后稍后

alert(window.b);

将变量放入全局范围。

于 2012-12-13T11:11:56.833 回答