如何获取在java中使用angularJs构建的页面标题?

时间:2016-12-07 14:37:06

标签: java jsoup title

目前,我使用JSOUP连接器获取网页的页面标题。 但是如果网站是使用angularJs构建的,那么JSOUP连接器无法获取标题,因为页面源中没有标题。

try {
    Document doc=Jsoup.connect("https://support.microsoft.com/en-us/kb/948496").get();
    System.out.println(doc.title());
} catch (IOException e) {
    e.printStackTrace();
}

如果使用java使用angularJs构建页面的标题?

1 个答案:

答案 0 :(得分:0)

所以,我尝试使用jsoup解析angularjs.org并且它工作正常:

try {
  Document doc = Jsoup.connect("https://angularjs.org/").get();
  Elements header = doc.select("title");
  System.out.println(header.html());
} catch (Exception e) {
  e.printStackTrace();
}

给了我" AngularJS - 超级英雄JavaScript MVW框架"

请您提供一个不起作用的网站示例?

编辑:在your particular case中,标题正在动态填充。所以,问题不在于如何解析有角度的网站标题",而是"如何获得动态创建的标题"。我认为jsoup根本不做。它只是让您访问网页源的dom元素。你想要做的是执行javascript并获得结果。我会看一些测试实用程序(如Selenium),它们使用实际的浏览器呈现页面,然后获取最终dom树的元素。