Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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 为什么getElementsByClass在jsoup中不工作?_Java_Html Parsing_Jsoup - Fatal编程技术网

Java 为什么getElementsByClass在jsoup中不工作?

Java 为什么getElementsByClass在jsoup中不工作?,java,html-parsing,jsoup,Java,Html Parsing,Jsoup,我试图通过它们的类名来获取一些元素。以下是HTML文件: <div id="container"> <div id="page_clips"> <div id="content" class="margin-right-5"> <div class="product-grid margin-left-5"> <div>.....</div>

我试图通过它们的类名来获取一些元素。以下是HTML文件:

<div id="container">
    <div id="page_clips">
        <div id="content" class="margin-right-5">
            <div class="product-grid margin-left-5">
                <div>.....</div>
                <div>.....</div>
                <div>.....</div>
             </div>
        </div>
    </div>
</div>
这段代码成功地获取了id为“content”的div。然后当我尝试时

Elements elementsIWantToGet= page_clip_content.getElementsByClass("product-grid margin-left-5");
它返回为空。我做错了什么?该div的class属性的名称不是“product grid margin-left-5”吗?有人能帮忙吗

谢谢,因为它不支持多个类名。通过给它“product grid margin-left-5”,您的意思是查找两个类的所有元素吗?还是两个班

无论哪种方式,都可以使用接受CSS选择器的:

对于同时具有以下两个参数的图元:

对于具有以下任一项的元素:

因为不支持多个类名。通过给它“product grid margin-left-5”,您的意思是查找两个类的所有元素吗?还是两个班

无论哪种方式,都可以使用接受CSS选择器的:

对于同时具有以下两个参数的图元:

对于具有以下任一项的元素:


谢谢,这两种解决方案对我都有效,但我不得不做一些轻微的修改。当我查看页面上的html源代码时,类名有product grid,但当我使用jsoup获得它时,我看到calss名称有product list,而不是product grid。这对我来说似乎很奇怪,你知道为什么会发生这种情况吗?@panpa:听起来页面上有JavaScript,它改变了类。谢谢你,这两种解决方案对我都有效,但我不得不稍微修改一下。当我查看页面上的html源代码时,类名有product grid,但当我使用jsoup获得它时,我看到calss名称有product list,而不是product grid。这对我来说似乎很奇怪,你知道为什么会这样吗?@panpa:听起来页面上有JavaScript改变了类。
Elements elementsIWantToGet= page_clip_content.getElementsByClass("product-grid margin-left-5");
.. = page_clip_content.select(".product-grid.margin-left-5");
.. = page_clip_content.select(".product-grid, .margin-left-5");