我正在尝试从这个马耳他新闻页面中提取标题
使用以下 XPath
html/body/table/tbody/tr[2]/td/table/tbody/tr[4]/td/table/tbody/tr[1]/td[1]/table/tbody/tr/td/table/tbody/tr/td[2]/table[3]/tbody/tr[1]/td/h1
(不是很漂亮,但这个 Xpath 是由 Chrome 生成的,因为缺少元素 ID,所以很有意义)。
我正在使用 Java 中的HTMLUnit以编程方式提取标题。这是代码。我使用相同的代码(显然使用不同的 xpath)提取了新闻内容和文章日期。
public static void main (String[] args) {
WebClient webClient = new WebClient();
HtmlPage page = null;
try {
page = webClient.getPage("http://www.maltarightnow.com/?module=news&at=Inawgurat+%26%23289%3Bnien+%26%23289%3Bdid+f%27Marsalforn&t=a&aid=99839603&cid=19");
} catch (FailingHttpStatusCodeException | IOException e) {
}
String text = ((DomElement)page.getFirstByXPath("html/body/table/tbody/tr[2]/td/table/tbody/tr[4]/td/table/tbody/tr[1]/td[1]/table/tbody/tr/td/table/tbody/tr/td[2]/table[3]/tbody/tr[1]/td/h1")).asText();
System.out.println(text);
}
但是它为提到的 xpath 提供了一个空指针
((DomElement)page.getFirstByXPath("html/body/table/tbody/tr[2]/td/table/tbody/tr[4]/td/table/tbody/tr[1]/td[1]/table/tbody/tr/td/table/tbody/tr/td[2]/table[3]/tbody/tr[1]/td/h1")).asText();
没有找到 DomElement,我确定它在那里,毕竟 Chrome 创建了 XPath。
这可能是什么原因?
提前致谢