簡體   English   中英

如何從Java中的JavascriptExecutor返回字符串

[英]how to return a string from JavascriptExecutor in java

我正在嘗試拾取從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獲得的結果完全相同。

我還嘗試了JavaScriptExecutor的ExecuteScript中的Get Value中建議的替代方法,甚至嘗試返回“ hello world”。 什么都沒有。 我想念什么?

我需要它返回一個字符串,因為這就是我要插入的實際代碼將執行的操作(一旦它可以正常工作)。 謝謝。

當我執行以下命令時

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. 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM