您需要使用具有javascript支持的庫。我使用HtmlUnit爲這是一個偉大的庫複製瀏覽器的行爲!
查看我的修改答案from this question下面有關如何使用javascript訪問頁面的簡單示例。
第一個,檢查他們的網頁(http://htmlunit.sourceforge.net/),讓htmlunit啓動並運行。請確保您使用最新的快照(2.12寫這個的時候)
嘗試這些設置忽略幾乎任何障礙:獲取你的頁面時
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_17);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setCssEnabled(false);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getCookieManager().setCookiesEnabled(true);
然後,確保你做任何事情之前等待背景的Javascript與頁面一樣,等待後臺JavaScript。
//Get Page
HtmlPage page1 = webClient.getPage("https://login-url/");
//Wait for background Javascript
webClient.waitForBackgroundJavaScript(10000);
//Get full page _after_ javascript has rendered it fully
System.out.println(page1.asXml());
我希望這個基本的例子能幫助你!
您可以使用HtmlUnit完成瀏覽器可以執行的任何操作,但通過編程方式。
你在用Javascript混合Java嗎? – 2013-03-02 08:42:59
我不打算除非必須。我希望我可以在java中完成所有這些。我不熟練javascript – Ali 2013-03-02 08:44:10
你能更好地描述一下你的意圖是什麼?不知怎的,我沒有得到「微博處理」部分。 。唯一的事情,我得到關於嘰嘰喳喳示例鏈接你給了小部件,這是使用JavaScript的鳴叫更新自己 – Ewoks 2013-03-02 08:48:35