link에서 표 내용을 스크랩하려고합니다.HtmlUnit에서 자바 스크립트가 올바르게로드되지 않습니다.
"통계"탭의 "경기 통계"테이블입니다.
<tbody class="matchCentreStatsContainer"></tbody>
그래서 있으리라 믿고있어 컨텐츠는 자바 스크립트에 의해 처리됩니다
그러나,에 의해, 내용이 실제로 컨테이너에서 누락 된 크롬을 사용하여 소스를 검사합니다.
다음 코드를 사용하여 페이지를로드하고 "통계"탭을 클릭 한 다음 페이지 내용을 확인하십시오.
WebClient wc = new WebClient(BrowserVersion.CHROME);
WebRequest request = new WebRequest(new URL("https://www.premierleague.com/match/14252"));
wc.getOptions().setThrowExceptionOnScriptError(false);
wc.setJavaScriptTimeout(10000);
wc.getOptions().setJavaScriptEnabled(true);
HtmlPage page = wc.getPage(request);
wc.waitForBackgroundJavaScript(30000);
HtmlUnorderedList ul = (HtmlUnorderedList) page.getByXPath("//ul[contains(@class, 'tablist')]").get(0);
//get the stats tab
HtmlListItem li = (HtmlListItem) ul.getChildNodes().get(2);
li.click();
wc.waitForBackgroundJavaScript(10000);
String pageAsXml = page.asXml();
하지만 내 pageAsXml의 테이블에는 아무 것도 없습니다.