2013-07-07 30 views
0

我想用Java中的應用程序檢索PHP文件中javascript節的值。如何使用Java解析JavaScript頁面中的JavaScript?

PHP頁面包含類似:

<script type="text/javascript"> 
var tab= new Array(); 
    tab[0] = "value0"; 
    tab[1] = "value1"; 
    tab[2] = "value2"; 
</script> 

我使用jsoup解析HTML標記。我試圖使用犀牛,但我沒有找到示例。

Context context = Context.enter(); 
Scriptable scope = context.initStandardObjects(); 
Object result = null; 
Reader reader = new InputStreamReader(inputStreamOfThePage); 
result = context.evaluateReader(scope, reader, "page", 1 , null); 
Scriptable varValue = (Scriptable)scope.get("tab", scope); 
String valueStr = (String)varValue .get("tab[0]", varValue); 

它讓我有例外: java.lang.ClassCastException:org.mozilla.javascript.UniqueTag不能轉換到org.mozilla.javascript.Scriptable

我不知道怎麼投物體。也許有更好的方式去做我想做的事。

謝謝

+0

您是在嘗試獲取頁面送達後還是之前的值?您是否試圖從其他網站的網頁獲取價值,或者您是否有權訪問該來源?除非您確定它們會發生可預測的變化,否則依賴從其他網站提取的值是不明智的。 –

+0

謝謝,我正在保存頁面,並在嘗試獲取價值之後。我確定這個值在保存的頁面中。 –

回答

0

Jsoup不適合解析Javascript ...這是正常的,它不工作!

+0

歡迎來到SO。你能解釋一下你的答案嗎? – Sergio

+0

謝謝,我不使用Jsoup來解析Javascript,只使用HTML。我想用Rhino來解析Javascript。 –