解析網站的內容時出現問題。 這是一個「數據存儲」站點(網絡文檔),從中我需要數據來生成一些配置。JAVA:從JS數據表填充的HTML文件解析值
無論如何。 我連接到HttpURLConnection
的頁面沒有任何問題。 將網站讀入字符串並使用JSoup解析它。
當打開瀏覽器中的網頁我獲得以下元素:
<input type="text" name="b2" value="XXXXX" size="6" onfocus="return sbnrSel()" autocomplete="OFF" onkeyup="searchSuggest(this.id,'b2sel','getSTG?b2='+this.value,1)" onclick="document.getElementById('b2sel').style.display='none'" id="b2" class="muss" />
當尋找到我的字符串,我覺得以下元素:
<input type="text" name="b2" size="6" onfocus="return sbnrSel()" autocomplete="OFF" onkeyup="searchSuggest(this.id,'b2sel','getSTG?b2='+this.value,1)" onclick="document.getElementById('b2sel').style.display='none'" id="b2" class="muss" />
我想分析的值(在這種情況下, XXXXX)。 我的代碼找不到它,導致元素中沒有「值」。 這裏怎麼我嘗試refence它:
doc.getElementsByAttributeValue("name", "b2").first().attr("value"))
據我瞭解網頁...它得到一個Java腳本里面的代碼更新加載。但我只是不知道,如何從我的JAVA代碼訪問這些數據...
這是HTML頁面與JS代碼開始時:
<script src="/js/cuba-ng.js" type="text/javascript"></script>
<script src="/js/fchng.js" type="text/javascript"></script>
<script src="/js/jquery.js" type="text/javascript"></script>
<script src="/js/jquery.dataTables.js" type="text/javascript"></script>
<script type="text/javascript">//<![CDATA[
$(document).ready
( function()
{ $("#chan").dataTable({ "aaSorting": [[ 4, "desc" ]], "bPaginate": false, "bFilter": false });
}
);
function sbnrSel()
{ if (document.forms[0].b3.value > 39) return;
var bnr = "xxxx";
bnr = document.forms[0].b1.value;
var sbnr = bnr.substr(1,3);
var ba = bnr.charAt(0);
switch (ba)
{ case "1": sba="I";break;
case "2": sba="O";break;
case "3": sba="B";break;
case "4": sba="D";break;
default: sba="Z";break;
}
document.forms[0].b2.value=sba+sbnr;
}
//]]></script>
可惜我不能提供整個代碼和數據。一些安全限制。希望你能理解。
我能夠通過Firefox插件查看引用的JS腳本。 似乎HTML充滿了JS數據表庫。
期待您的支持。 對不起,如果有任何重要信息丟失。