鉴于以下内容:
<li class="med grey mkp2">
<a href="http://www.amazon.com/gp/offer-listing/B004N627KS/ref=sr_1_1_olp?ie=UTF8&qid=1357396214&sr=8-1&keywords=097855073358&condition=new"><span class="price bld">$28.15</span> new <span class="grey">(14 offers)</span></a> </li>
我需要抓住href,听起来很简单,对吧?但是,我能找到正确列表项的唯一方法是获取<span class="price bld">
,所以我需要的href在它之前。它与Extracting href from a class within other div/id classes with jsoup类似,但相反。
css类可以有很多列表项&#34; med grey mkp2&#34;但是我只需要来自具有注释范围且具有class =&#34; price bld&#34;。< / p>
我怎样才能做到这一点?
答案 0 :(得分:3)
您只能选择目标元素(<a>
),而不是子元素(<span>
),否则它只会返回<span>
元素。在这种特殊情况下,您可以使用:has()
选择器检查目标元素是否具有所需的子元素。
Elements elements = document.select("a:has(.price.bld)");
:has(seletor)
:查找包含与选择器匹配的元素的元素;例如div:has(p)