我正在尝试从link中删除表格的内容。
这是“统计信息”标签下的“匹配统计信息”表。
但是,通过使用Chrome检查来源,容器中实际上缺少内容:
<tbody class="matchCentreStatsContainer"></tbody>
所以我假设内容是由JavaScript处理的。
我使用以下代码加载页面,单击“统计信息”选项卡,然后检查页面内容。
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表中仍然没有任何内容,我做错了什么?
答案 0 :(得分:0)
使用您的代码进行了简短的测试。 如果禁用行wc.getOptions()。setThrowExceptionOnScriptError(false);你会看到有一个js错误(只有HtmlUnit而不是浏览器)。通常这意味着一些javascript代码将不会被执行。请为此打开HtmlUnit问题,我们可以尝试解决此问题。请查看Submitting JavaScript bugs。