我在selenium web驱动程序中使用方法executeScript
,我发现了一个问题:
js.executeScript("var b='1'; ");
js.executeScript("alert(b)");
在我运行上面的代码之后,我想会得到一个值为1
的警告窗口,但它说:
b is not defined
我的问题是:我将b
定义为全局变量,但为什么我以后无法得到它?
答案 0 :(得分:7)
将变量定义为
var b='1'
将范围限制为脚本的执行。 Selenium将javascript片段的执行包装到他们自己的脚本中,因此您的变量不会在脚本结束时存活。尝试
window.b = '1';
然后再
alert(window.b);
将变量放入全局范围。