当前位置: 首页 > 知识库问答 >
问题:

为什么getElementsByClass在jsoup中不起作用?

阎弘雅
2023-03-14

我试图通过类名获取一些元素。以下是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>

在这里,我想得到的是,具有类="product-grid lid-leve-5"的div。这是我所做的:

Document doc = Jsoup.connect(link).get();
Element page_clips = doc.getElementById("page_clips");
Element page_clip_content = page_clips.getElementById("content");

这段代码成功地获取了id为“content”的div。然后当我尝试时,

Elements elementsIWantToGet= page_clip_content.getElementsByClass("product-grid margin-left-5");

它返回空值。我做错了什么?那个div的class属性的名字不就是“产品-网格边距-左-5”吗?有人能帮忙吗?

谢谢

共有1个答案

陶树
2023-03-14

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

无论哪种方式,请使用选择,它接受 CSS 选择器:

对于同时包含两者的元素:

.. = page_clip_content.select(".product-grid.margin-left-5");

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

.. = page_clip_content.select(".product-grid, .margin-left-5");
 类似资料:
  • 问题内容: 为什么这项工作有效- 但这不是- 第二种情况下的输出为。你能解释一下输出吗? 问题答案: 该方法没有返回值。它会在适当的位置更改列表,并且由于您没有将分配给任何变量,因此只是“迷失在空间” 我没有重载所有有问题的方法,但是概念应该很清楚。

  • 我试图在我的Word文档中使用块,但我有一些问题。首先,当我在我的文档中声明一个块时,如果我不使用函数“cloneBlock”,结果会出现这样的情况: 也许我必须使用那个函数才能正常出现。但是我的主要问题是“删除块”不起作用。如果我不克隆块,生成的docx就会损坏。但是如果我克隆了这个块,函数“删除块”不会删除这个块,它会在我的最终docx文件中显示那个块内的信息。 这是我的代码: Docx模板:

  • 问题内容: 我的Dockerfile创建一个目录,将其chown,然后再列出该目录。该目录仍归root用户所有。这是为什么? 这是Dockerfile: 这是“ docker build”的输出: Docker版本1.2.0,构建fa7b24f 主机运行Ubuntu 12.04,但具有3.13.0-36通用内核。 问题答案: 回答我自己的问题:它声明为卷。如果取出VOLUME指令,则将生效。 此外

  • 问题内容: 我想在控制台中打印一些内容,以便对其进行调试。但是由于某种原因,我的Android应用程序中没有任何内容。 那我该如何调试呢? 问题答案: 在仿真器上,大多数设备都重定向到LogCat并使用进行打印。在非常旧的或自定义的Android版本上可能并非如此。 原版的: 没有控制台将消息发送到,因此消息丢失。当你使用来运行“传统” Java应用程序时,也会以同样的方式发生这种情况。 相反,你

  • 问题内容: 我正在尝试从JSON网址获取集合。骨干网确实发送了请求并得到了响应,但是在它之后的集合中没有: 这是我的JavaScript: 响应中的JSON 响应中的Content-Type HTTP标头为。 为什么不将其加载到集合中?JSON是否正确? 一些更多的代码: 问题答案: 是异步的。尝试 要么 要么