【问题标题】:How to parse Aria-Label from a div tag attribute?如何从 div 标签属性解析 Aria-Label?
【发布时间】:2015-02-03 02:06:48
【问题描述】:

我正在使用 JSoup 来解析一些 HTMLL 信息,我想解析特定 div 属性的 aria 标签值。我要解析的行如下:

<div class="tiny-star star-rating-non-editable-container" aria-label=" Rated   5 stars out of five stars ">

我用过以下:

Document document = Jsoup.connect(url).get();
Elements stars= document.select("div.tiny-star star-rating-non-editable-container[aria-label]");
String value = stars.text();
System.out.println("The rating is " + value);

但是,字符串值返回空白。为什么是这样?

【问题讨论】:

    标签: java html parsing jsoup


    【解决方案1】:

    那个选择器表达式不会给你你所期望的。它被视为两部分选择器

    • div.tiny-star - 找到一个 div 类的元素 tiny-star
    • star-rating-non-editable-container[aria-label] - 然后查找具有 aria-label 属性的后代 star-rating-non-editable-container 元素

    尝试类似的东西

    Element divWithStars = document.select(
       "div.tiny-star.star-rating-non-editable-container[aria-label]");
    String ariaLabel = divWithStars.attr("aria-label");
    

    注意tiny-starstar-rating-... 之间的点而不是空格,以及select 返回承载 aria-label 属性的 元素,而不是属性本身这一事实 - 你必须使用attr 来提取属性值。

    【讨论】:

      猜你喜欢
      • 2021-10-07
      • 2023-01-17
      • 2019-09-12
      • 2015-12-29
      • 1970-01-01
      • 2017-07-29
      • 1970-01-01
      • 2021-06-19
      • 2021-11-18
      相关资源
      最近更新 更多