页面内容已加载JavaScript,但Jsoup看不到它

页面上的一个块由JavaScript填充内容,并且在用Jsoup加载页面后,没有任何信息。解析网页时,是否还有办法获取JavaScript生成的内容Jsoup

由于代码太长,因此无法在此处粘贴页面代码:http : //pastebin.com/qw4Rfqgw

这是我需要的内容元素: <div id='tags_list'></div>

我需要用Java获取此信息。最好使用Jsoup。元素是在JavaScript帮助下的字段:

<div id="tags_list">

<a href="/tagsc0t20099.html" style="font-size:14;">разведчик</a>

<a href="/tagsc0t1879.html" style="font-size:14;">Sr</a>

<a href="/tagsc0t3140.html" style="font-size:14;">стратегический</a>

</div>

Java代码:

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.select.Elements;

import java.io.IOException;

public class Test

{

public static void main( String[] args )

{

try

{

Document Doc = Jsoup.connect( "http://www.bestreferat.ru/referat-32558.html" ).get();

Elements Tags = Doc.select( "#tags_list a" );

for ( Element Tag : Tags )

{

System.out.println( Tag.text() );

}

}

catch ( IOException e )

{

e.printStackTrace();

}

}

}

回答:

JSoup是HTML解析器,不是某种嵌入式浏览器引擎。这意味着它完全不知道在初始页面加载后Javascript添加到DOM的任何内容。

为了访问这种类型的内容,你将需要一个嵌入式浏览器组件,关于此类组件有很多关于SO的讨论,例如,是否有一种将浏览器嵌入Java的方法?

以上是 页面内容已加载JavaScript,但Jsoup看不到它 的全部内容, 来源链接: utcz.com/qa/423707.html

回到顶部