大家好我正在尝试使用jxBrowser组件而且我无法获得所选html组件的值...
List<DOMElement> paragraphs = divRoot.findElements(By.cssSelector("p"));
for (DOMElement paragraph : paragraphs) {
System.out.println("paragraph.getNodeValue() = " +
paragraph.getNodeValue());
}
我能够找到段落..但是无法获得节点的值......或者只是<p>I cant get this value<p/>
代码必须正常,因为它只是他们自己的示例代码的纯副本:here
所以我的问题是......我做错了什么?它似乎正确导入..我在macbook上使用库版本6.19.1。 (我甚至在具有相同结果的Windows 10上尝试过它。)
或者如果还有其他具有类似功能的java浏览器解决方案..我需要的是加载页面,从某些div中获取一些值,然后模拟点击。
答案 0 :(得分:1)
DOMElement.getNodeValue()
返回此节点的值,具体取决于其DOMNodeType
。您尝试获取的文本是
节点的子节点,因此您需要使用以下代码paragraph.getChildren().get(0)
来获取它。
因此,最终代码如下所示:
for (DOMElement paragraph : paragraphs) {
System.out.println("paragraph.getNodeValue() = " +
paragraph.getChildren().get(0).getNodeValue());
}