2017-08-16 59 views
0

我使用java來抓取網頁。如何在通過代碼設置輸入值後獲取HtmlPage對象。 (java webparser)

我在我的項目中導入了com.gargoylesoftware.html單元,我可以獲得網頁。

在網頁上有一個輸入。當我在輸入中輸入關鍵詞並按下「Enter」鍵時,網頁的一部分將被刷新。沒有提交按鈕。那麼如何才能在我的java代碼中獲取刷新的網頁?

這裏是我的代碼:

client.getOptions().setJavaScriptEnabled(true); 
client.getOptions().setRedirectEnabled(true); 
client.setAjaxController(new NicelyResynchronizingAjaxController()); 

HtmlPage page = client.getPage(url); 
HtmlInput termInput = (HtmlInput) page.getByXPath("/html/body/div[2]/div/main/section/div/div/div/div/div[1]/div/div[2]/input").get(0); 
termInput.setAttribute("value", "Annual Report"); 
saveFile(this.getFilePath(""), page.asXml()); 

我的網頁保存在我的電腦中的文件。我可以在瀏覽器中打開它。我可以看到我在輸入中設置的值,但內容不刷新。

沒有提交按鈕。

回答

0

爲了通過按回車來刷新頁面,您需要輸入轉義序列以進入輸入。

termInput.type("\n"); 

你可以輸入\ n到像這樣的輸入做到這一點