我正在尝试从Java调用JavascriptExecutor返回的字符串(我第一次使用它)。我已经在SO上看过其他几篇帖子,但是在你把字符串变成Java之前它们都会停止。
在互联网上搜索,每个人都说这应该有效:
JavascriptExecutor js =(JavascriptExecutor) driver;
js.executeScript("return document.title");
String CatchS = js.toString();
System.out.println("Output from javascript:" + CatchS);
但我得到的只是Output from javascript:FirefoxDriver: firefox on XP (506d8fd0-0ce2-4693-8e56-2166a77a5136)
如果您故意无效地提供JavaScript,那么这与您从JavascriptExecutor获得的完全相同(即这不起作用)。
我也尝试了Get Value from ExecuteScript from JavaScriptExecutor中建议的替代方案,甚至试图回归'hello world'。什么都行不通。我错过了什么?
我需要它来返回一个字符串,因为这是我试图插入的真实代码会做的(一旦它工作)。谢谢。
答案 0 :(得分:0)
当我执行以下
时String CatchS = (String) js.executeScript("return document.title");
我得到
的例外Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from Object to String.