这是页面的片段:
<br><b>Price:</b> Rs. 24,900.00 <br>
我需要获取值
Rs.24,900.00
。但我不知道如何获取它,因为它没有被任何元素包围。
我使用了这个:
doc.select("b:contains(Price:)");
来访问Price:
元素。
但是我怎样才能得到那个
Rs.24,900.00
值呢?
您可以控制 HTML 的源吗?如果是这样,您永远不应该使用自由文本创建内容。它应该始终驻留在元素中,即使它只是一个 p 标签。 (body 元素不算在内。正文不应包含文本。)
否则您只能进行基于文本的搜索。
Document doc = Jsoup.parse( "<br><b>Price:</b> Rs. 24,900.00 <br>");
Element el = doc.select("b").first(); //get the element which contains "Price:"
String text = ((TextNode) el.nextSibling()).text();
这里,首先我必须获得包含
Price:
的元素。
然后我们可以获取它的下一个兄弟并使用 text()
方法来获取它的文本。
感谢user1121883对类似问题的回答。