Selenium can call the browser to Obtain Dynamic html values and then call its API to Obtain Dynamic Data. Tested, it is really easy to use, and the efficiency is not detailed. Code reference: http://my.oschina.net/flashsword/blog/147334 (to the original author ). [Preface] I have read other articles about setting the environment variable path and also mentioned selenium-server and Selenium-rc. This article is not so complex and does not set the path, but only uses webdriver technology, call chrome on the local machine to obtain the html after dynamic page rendering and parse it. The Code is as follows: public static void main (String [] args) {System. getProperties (). setProperty ("webdriver. chrome. driver "," D :\\ Code \ chromedriver.exe "); // this parameter is [chrome drive location] WebDriver webDriver = new ChromeDriver (); webDriver. get ("http://www.facejoking.com/top/12001/0"); WebElement webElement = webDriver. findElement (. id ("ColumnContainer"); List <WebElement> listLink = webElement. findElements (. tagName ("")); For (int I = 0; (I + 2) <50; I + = 2) {System. out. println (listLink. get (I ). getAttribute ("href") + "/" + listLink. get (I + 1 ). getText ();} System. out. println ("chrome driver"); // close the window and release resources. WebDriver. close ();}