这个javascript
function test() {arr = 111; return arr;}; test();
调用方法,
test()但对结果不执行任何 *** 作,即。不会将其返回给调用方。
所以
int a = (Integer) js.executescript(testJS);
将返回
null并尝试被取消引用,这将因为取消引用
null引发而失败
NullPointerException。
Javadoc的
JavascriptExecutor.html#executescript(java.lang.String,java.lang.Object...)
也许您想要Javascript
function test() {arr = 111; return arr;}; return test();
这对我有用
System.setProperty("webdriver.chrome.driver", "C:\Users\me\Downloads\chromedriver.exe");ChromeDriver driver = new ChromeDriver();JavascriptExecutor executor = (JavascriptExecutor) driver;String js = "function test() {" + "arr = 111; return arr;" + "}; return test()";Long a = (Long) executor.executescript(js);System.out.println(a);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)