2017-04-20 261 views
0

我想用HttpResponse(和HttpClient),Jsoup和HtmlUnit(首先嚐試它的工作),但我沒有成功的Zhaopin Login Page html源。這三個方法返回了我混淆的HTML源代碼(並且我嘗試發送所有頭文件)。JAVA PhantomJS不工作

所以我試圖用PhantomJS,因爲我紅色,它等待頁面的JavaScript執行,但我也沒有成功。

有人使用過它嗎?

這裏是我使用的方法:

public static Document renderPage(String url) { 
    System.setProperty("phantomjs.binary.path", "/usr/local/share/phantomjs-1.9.8-linux-x86_64/bin/phantomjs"); 
    WebDriver ghostDriver = new PhantomJSDriver(); 
    try { 
     ghostDriver.manage().timeouts().setScriptTimeout(-1, TimeUnit.DAYS); 
     ghostDriver.manage().timeouts().pageLoadTimeout(-1, TimeUnit.DAYS); 
     ghostDriver.get(url); 
     return Jsoup.parse(ghostDriver.getPageSource()); 
    } finally { 
     ghostDriver.quit(); 
    } 
} 

謝謝!

回答

0

這產生頁面的來源(至少在這裏用HtmlUnit的最新SNAPSHOT)。頁面代碼仍然包含很多JavaScript的東西,但它應該很容易移出。

try (WebClient webClient = new WebClient(BrowserVersion.CHROME)) { 
     final HtmlPage page = webClient.getPage("https://passport.zhaopin.com/org/login"); 
     webClient.waitForBackgroundJavaScript(10000); 

     System.out.println(page.asXml()); 
    }