Sud*_*kar 8 java selenium webdriver selenium-webdriver
js.executeScript("return document.title")工作正常,但我不知道为什么我的代码返回空指针错误.这有什么不对?
String testJs= "function test() {arr = 111; return arr;}; test();";
JavascriptExecutor js = (JavascriptExecutor) driver;
int a = (Integer) js.executeScript(testJS);
Run Code Online (Sandbox Code Playgroud)
Sot*_*lis 12
这个javascript
function test() {arr = 111; return arr;};
test();
Run Code Online (Sandbox Code Playgroud)
调用方法test()但不对结果做任何事情,即.不会将其返回给调用者.
所以
int a = (Integer) js.executeScript(testJS);
Run Code Online (Sandbox Code Playgroud)
将返回null并尝试取消引用,因为取消引用null抛出将失败NullPointerException.
Javadoc forJavascriptExecutor.html#executeScript(java.lang.String, java.lang.Object...)
也许你想要javascript
function test() {arr = 111; return arr;};
return test();
Run Code Online (Sandbox Code Playgroud)
这适合我
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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12496 次 |
| 最近记录: |