JSoup - 如何在<span class =“*”>之前立即获取href(url / link)?</span>

时间:2013-01-16 20:36:29

标签: java css-selectors html-parsing jsoup

鉴于以下内容:

<li class="med grey mkp2">
    <a href="http://www.amazon.com/gp/offer-listing/B004N627KS/ref=sr_1_1_olp?ie=UTF8&amp;qid=1357396214&amp;sr=8-1&amp;keywords=097855073358&amp;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>

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

您只能选择目标元素(<a>),而不是子元素(<span>),否则它只会返回<span>元素。在这种特殊情况下,您可以使用:has()选择器检查目标元素是否具有所需的子元素。

Elements elements = document.select("a:has(.price.bld)");

另见: