Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从div标记属性解析Aria标签?_Java_Html_Parsing_Jsoup - Fatal编程技术网

Java 如何从div标记属性解析Aria标签?

Java 如何从div标记属性解析Aria标签?,java,html,parsing,jsoup,Java,Html,Parsing,Jsoup,我正在使用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("d

我正在使用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);

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

该选择器表达式不会给出您所期望的结果。它被视为两部分选择器

  • div.tiny-star
    -查找类为
    tiny-star
    div
    元素
  • star rating non-editable容器[aria label]
    -然后查找具有
    aria label
    属性的后代
    star rating non-editable容器
    元素
试试类似的东西

Element divWithStars = document.select(
   "div.tiny-star.star-rating-non-editable-container[aria-label]");
String ariaLabel = divWithStars.attr("aria-label");
请注意
tiny star
star rating-…
之间的点而不是空格,以及
select
返回承载aria标签属性的元素,而不是属性本身的事实-您必须使用
attr
来提取属性值