【问题标题】:Jsoup selector syntax for div having same class具有相同类的 div 的 Jsoup 选择器语法
【发布时间】:2014-11-19 11:11:12
【问题描述】:
<div class="row">
   <div id="content">
      <div class="textData">

      </div>
      <div class="textData">

      </div>
   </div>
</div>

我想要来自第二个 div 的文本,其值为 class=textData。我确实解析了 div id=content。

这是我的背景

try {
                Document document = Jsoup.connect(url).get();
                Elements myin = null;
                myin = document.select("div.horoscopeText:eq(1)");
                desc = myin.text().toString();
            } catch (IOException e) {
                e.printStackTrace();
            }

【问题讨论】:

    标签: android parsing css-selectors jsoup selector


    【解决方案1】:

    试试这个

    div#textData:eq(1)
    

    eq(n) 接受匹配元素的从零开始的索引。顺便说一句,您不应该有多个具有相同 id 的元素,为此请使用 class。查看selector syntax documentation 了解更多示例。

    编辑

    对于class而不是id,使用div.textData:eq(1)

    【讨论】:

    • 是的,它是类而不是 id。用类编辑 id
    • @android_sh_jo 例如,这适用于您的问题。您可以在try.jsoup.org 上亲自尝试。我不知道为什么它不适用于您的其他数据,但您应该能够测试该测试页面上的所有内容,包括实时网址。
    • @android_sh_jo 在连接到 url 之前尝试设置用户代理,类似于 Document document = Jsoup.connect(url).userAgent("Mozilla").get();
    猜你喜欢
    • 2011-09-03
    • 2022-07-27
    • 2011-12-28
    • 2015-04-02
    • 1970-01-01
    • 2021-01-02
    • 2020-06-15
    • 1970-01-01
    相关资源
    最近更新 更多