【发布时间】:2016-04-18 07:07:51
【问题描述】:
我想从下面的 html 中检索“data-default-src”的值。似乎正文在影子根节点中或隐藏在源代码中。这只能通过 chrome 的检查元素功能看到,而不是在完成 ctrl+u 时看到。
<body onload="handleOnLoad();" style="margin:0;padding:0;width:100%;height:100%;
position:relative;overflow:hidden" id="myPlayer"
data-default-src="https://cdn.video.playwire.com/12272/videos/4483914/video-sd.mp4?hosting_id=12272">
这是我迄今为止尝试过的:
Elements media = doc.select("body");
for (Element links: media)
{
System.out.println((links.attr("abs:data-default-src")));
}
还有这个:
Element body = doc.body();
System.out.println(body.attr("data-default-src"));
【问题讨论】:
-
"这只能通过 chrome 的检查元素功能看到,而不是在完成 ctrl+u 时看到。"这意味着该属性是在浏览器中动态生成的,很可能是使用 JavaScript。 JSoup 是一个 HTML 库,而不是一个完整的浏览器模拟器。您将需要找出另一种获取价值的方法。
-
@still_learning 谢谢。您知道的任何其他提取 API 可以帮助解决吗?
-
这取决于您的要求以及属性的生成方式。看看this page。前段时间我尝试过,HTMLUnit 似乎是一个可靠的选择。
-
是的,我将通过 API。谢谢大家。
标签: java html jsoup google-chrome-devtools