我是HtmlUnit的新手,我甚至不确定它是否适合我的项目。 我正在尝试解析一个网站并从中提取我需要的值。我需要从中获得值“07:05”,
<span class="tim tim-dep">07:05</span>
我知道我可以使用getTextContent()来提取值,但我不知道如何选择特定的范围。我使用getElementById来查找
<div>
这个表达式所属的标签但是当我得到该div的文本内容时,我得到一整行含有大量不必要数据的文本。有人可以告诉我如何选择这个表达式,可能使用类名吗?
答案 0 :(得分:8)
您需要浏览页面并与之交互,如下所示:
final WebClient web = new HtmlUnit();
final HtmlPage page = web.getPage("http://www.whateveryouwant.com.br");
通过标记名获取元素,并迭代它:
final List<DomElement> spans = page.getElementTagName("span");
for (DomElement element : spans) {
if (element.getAttribute("class").equals("tim tim-dep")) {
return element.getNodeValue();
}
}
或者只使用XPath:
// Not sure what getFirstByXPath return
DomElement element = page.getFirstByXPath("//span[@class='tim tim-dep']");
final String text = element.getNodeValue();
答案 1 :(得分:0)
在这里你去..
DomElement element = page.getFirstByXPath("//span[@class='tim tim-dep']");
String text = element.getTextContent();