如何解析jsoup Elements属性?

时间:2018-08-16 21:10:24

标签: java html jsoup

在页面中具有第二个html块:

<div class="card card-hover card-visited wordwrap job-link js-hot-block">
    <img width="100" height="50" alt="Micro Focus" class="preview-img preview-img-logo" src="//i.work.ua/employer_design/3/4/6/106346_company_logo_3.png">
    <h2 class="add-bottom-sm"><a href="/jobs/2052763/" title="Java Full-stack developer, вакансия от 10 августа 2018">Java Full-stack developer</a></h2>
    <span><b>Micro Focus</b></span>&nbsp;
    <span>· </span>
    <span>Киев&nbsp;· </span>
    <span><span class="label label-hot">Горячая</span></span>
    <p class="overflow"> Полная занятость. Опыт работы от 2 лет. Высшее образование.
    <br> SERENA Software (www.serena.com), part of&nbsp;MicroFocus group, is&nbsp;the global leader in&nbsp;Application Lifecycle…<a href="/jobs/2052763/"><span class="glyphicon glyphicon-chevron-right"></span></a></p>
</div>

如何使用jsoup满足条件:

  

如果href等于“ / jobs / 2052763 /”,则返回“ Micro Focus”?

我可以找到href“ / jobs / 2052763 /”,并且可以找到“ Micro Focus”(element / attr(“ alt”)),但无法相互配合。

2 个答案:

答案 0 :(得分:0)

找到<a>,向上移动两个父母,然后选择img

Element link = doc.selectFirst("a[href=/jobs/2052763/]");
System.out.println(link.parent().parent().selectFirst("img").attr("alt"));

答案 1 :(得分:0)

尝试一下

Elements result =
  doc.select("h2:has(a[href*=\"/jobs/2052763/\"]) + span > b");

>中有{b){{1}的先前同级(+span的{​​{1}}个孩子中h2 },属性值为:has(...)ahref)。