HtmlUnit - 具有未知元素类型的getByXPath

时间:2015-05-01 15:04:23

标签: java html xpath web-scraping htmlunit

我正在使用HtmlUnit来抓取数据,我已经习惯了XPath的语法。 但是我遇到了一个问题。

我有一个我需要拉的元素在页面之间变化,有时它是一个“span”元素,有时它是一个“a”元素(一个链接)。原因很简单,我正在抓取的项目有一个链接,有时它只是纯文本(说明显而易见)。 然而,有一个名为“data-reactid”的属性,它总是有一个设定值,让我们只说99。 我一直在阅读和搞乱,并一直在尝试这样的事情:

HtmlElement element = (HtmlElement) myPage.getFirstByXPath("//@data-reactid='99'");
System.out.println(element.getTextContent());

我收到以下错误:

java.lang.ClassCastException: java.lang.Boolean cannot be cast to com.gargoylesoftware.htmlunit.html.HtmlElement

为什么getFirstByXPath()返回一个布尔值超出我的范围。

所以我的问题是,当我不知道该元素的类型时,如何通过指定的属性和值访问元素?

谢谢!

0 个答案:

没有答案