我正在使用jsoup HTML解析器,并试图进入span类并从中获取文本,但它什么也不返回,并且其大小始终为零。我粘贴了HTML源代码的一小部分。请帮我提取文本。
<div class="list_carousel">
<div class="rightfloat arrow-position">
<a class="prev disabled" id="ucHome_prev" href="#"><span>prev</span></a>
<a class="next" id="ucHome_next" href="#"><span>next</span></a>
</div>
<div id="uc-container" class="carousel_wrapper">
<ul id="ucHome">
<li modelID="587">
<h3 class="margin-bottom10"><a href="/ford-cars/figo-aspire/" title="Ford Figo Aspire "> Ford Figo Aspire</a></h3>
<div class="border-dotted margin-bottom10"></div>
<div>Estimated Price: <span class="cw-sprite rupee-medium"></span> 5.50 - 7.50 lakhs</div>
<div class="border-dotted margin-top10"></div>
</li>
<li modelID="899">
<h3 class="margin-bottom10"><a href="/chevrolet-cars/trailblazer/" title="Chevrolet Trailblazer "> Chevrolet Trailblazer</a></h3>
<div class="border-dotted margin-bottom10"></div>
<div>Estimated Price: <span class="cw-sprite rupee-medium"></span> 32 - 40 lakhs</div>
<div class="border-dotted margin-top10"></div>
</li>
我尝试了以下代码:
Elements var_1=doc.getElementsByClass("list_carousel");//four classes with name of list_carousel
Elements var_2=var_1.eq(1);//selecting first div class
Elements var_3 = var_2.select("> div > span[class=cw-sprite rupee-medium]");
System.out.println(var_3 .eq(0).text());//printing first result of span text
如果你对我的内容不是很清楚,请问我。提前谢谢。
试试吧
System.out.println(doc.select("#ucHome div:nth-child(3)").text());
关于代码,有几点需要注意:
A) 无法获取跨度的文本,因为它首先没有文本:
<div>Estimated Price:
<span class="cw-sprite rupee-medium"></span>
5.50 - 7.50 lakhs
</div>
看见文本在div中,而不是span!
b)您的选择器<代码>"
<span class="cw-sprite rupee-medium"></span>
<span class="rupee-medium cw-sprite"></span>
是相同的。您的选择器只选择第一个。这就是为什么在css中有一个类语法,您应该使用它来代替:
"> div > span.cw-sprite.rupee-medium"
此外,你可以先省去他
提议的解决方案
Elements lcEl = doc.getElementsByClass("list_carousel").first();
Elements spans = lcEl.select("span.cw-sprite.rupee-medium");
for (Element span:spans){
Element priceDiv = span.parent();
System.out.println(priceDiv.getText());
}
我在试着把这篇课文放在跨度内 使用下面的代码。但是,输出的行为就好像嵌套跨距不存在一样 我的输出是
当我执行时,它也打印和,我如何在Python中使用selenium只获取示例文本?
问题内容: 我正在使用find来查找目录中的所有文件,因此获得了路径列表。但是,我只需要文件名。即我得到,我想得到 问题答案: 在GNU中,您可以使用参数,例如:
问题内容: 我从API获得以下JSON: 我正在使用Jackson库将此JSON反序列化为Java对象。我不想为对象创建一个特殊的类。我只是想以纯文本形式获得它。这样。 在我的POJO中,这应该作为字符串,即: 是否可以将JSON的此部分作为纯文本获取? 编辑: 我得到的错误 问题答案: 利用。 只需在POJO中为该字段输入以下内容,它便会为您工作。 凡如下: 给出以下输出: