Java 调用getElementById时获取空值

Java 调用getElementById时获取空值,java,jsoup,Java,Jsoup,我的HTML(部分)如下所示。我想使用以下方法查找元素: org.jsoup.nodes.Element elem = doc.getElementById("date-2011-04-23"); 但我总是得到一个NULL。有人能帮我吗?作为检查,我还使用VB.NET编写了此代码,我可以访问此元素 <td class="" id="date-2011-04-23" data-week="3" data-wkday="6">...</td> 。。。 假设您的标记看起来像

我的HTML(部分)如下所示。我想使用以下方法查找元素:

org.jsoup.nodes.Element elem = doc.getElementById("date-2011-04-23");
但我总是得到一个
NULL
。有人能帮我吗?作为检查,我还使用VB.NET编写了此代码,我可以访问此元素

<td class="" id="date-2011-04-23" data-week="3" data-wkday="6">...</td>
。。。

假设您的标记看起来像:

<td class="" id="date-2011-04-23" data-week="3" data-wkday="6">...</td>
如果只需要第一个元素:

Element element = doc.select("#date-2011-04-23").first();

在HTML中找不到该内容的原因是浏览器执行Javascript从JSON文件加载计划,然后将其添加到浏览器DOM中。Jsoup不执行Javascript,因此它只能看到源HTML中的内容


如果使用Charles之类的调试代理(或Chrome/Firefox中的“调试网络”窗格),则可以看到浏览器为呈现页面而发出的所有请求。在本例中,计划数据来自

,我将尝试一下。为什么#符号?
是标记ID的“关键字”。例如“#abc”选择id=abc.I的标签[l使用select仍然得到一个空值。我不明白。我如何将完整的HTML元素发布到stackoverflow?它在我发布时对HTML起作用。或者,我要解析的页面是费城费城费城人队的日程安排。此URL:你应该将HTML/Java代码放入Code-Tags.Btw中。你能发布多一点HTML代码吗?你知道吗也可以测试“td#date-2011-04-23”
Element element = doc.select("#date-2011-04-23").first();