我需要选择div标签中存在的锚标签,其中id = content。 我在java中使用了以下代码
Element lin = doc.getElementById("tag#content");
Elements links = lin.select("a[href]");
但是当我调试程序时,lin = Null。
我也试过下面的代码,但是lin仍然是空的。
Elements lin = doc.select("div#content");
Elements links = lin.select("a[href]");
这是我的HTML:
<div id="content">
<ul class="nolist">
<li><a href="/undergraduate/"><h3>Undergraduate Study</h3></a></li>
<li><a href="/graduate/"><h3>Graduate Study</h3></a></li>
<li><a href="/currentstudents/course/current/"><h3>Courses</h3></a></li>
</ul>
</div>
任何帮助都将不胜感激。谢谢
答案 0 :(得分:0)
你试过这个:
Element lin = doc.getElementById("tag#content");
答案 1 :(得分:0)
Elements links = doc.select("div#content > ul > li > a");
for (Element e : links) {
System.out.println(e.attr("href"));
}
将输出:
/undergraduate/
/graduate/
/currentstudents/course/current/
关于你的评论,我试过这个:
String html = "<div id='content'><ul class='nolist'><li><a href='/undergraduate/'><h3>Undergraduate Study</h3></a></li><li><a href='/graduate/'><h3>Graduate Study</h3></a></li><li><a href='/currentstudents/course/current/'><h3>Courses</h3></a></li></ul></div>";
Document doc = Jsoup.parse(html);
Elements e = doc.select("div#content a");
System.out.println(e.toString());
Elements f = doc.select("div#content > ul > li > a");
System.out.println(f.toString());
得到了这个输出:
<a href="/undergraduate/"><h3>Undergraduate Study</h3></a>
<a href="/graduate/"><h3>Graduate Study</h3></a>
<a href="/currentstudents/course/current/"><h3>Courses</h3></a>
<a href="/undergraduate/"><h3>Undergraduate Study</h3></a>
<a href="/graduate/"><h3>Graduate Study</h3></a>
<a href="/currentstudents/course/current/"><h3>Courses</h3></a>
答案 2 :(得分:0)
对不起家伙我使用了错误的网址。
以下代码有效
doc.select("div#content a");
但是doc.select("div#content > ul > li > a");
给了我任何理由为什么?