import com.gargoylesoftware.htmlunit.html.HtmlPage; //导入方法依赖的package包/类
/**
* Download pages from url with the specific date, and save to the directory
*
* @param directory Directory
* @param queryDate Query Date
* @param url Query URL
*/
protected void download(String directory, Date queryDate, String url) throws IOException {
try (final WebClient webClient = getWebClient()) {
// Get the query page
final HtmlPage queryPage = webClient.getPage(url);
// Get the date select list elements and the search button
final HtmlSelect year = queryPage.getElementByName("ddlShareholdingYear");
final HtmlSelect month = queryPage.getElementByName("ddlShareholdingMonth");
final HtmlSelect day = queryPage.getElementByName("ddlShareholdingDay");
final HtmlImageInput button = queryPage.getElementByName("btnSearch");
// Change the value of the date select list
year.setSelectedAttribute(DateFormatUtils.format(queryDate, "yyyy"), true);
month.setSelectedAttribute(DateFormatUtils.format(queryDate, "MM"), true);
day.setSelectedAttribute(DateFormatUtils.format(queryDate, "dd"), true);
// Now submit the query by clicking the button and get back the result page
final HtmlPage resultPage = (HtmlPage) button.click();
File outputFile = new File(directory,
DateFormatUtils.format(queryDate, "yyyyMMdd") + ".html");
FileUtils.writeStringToFile(outputFile, resultPage.asXml(), "UTF-8");
logger.info("Successfully downloaded HKEX web page for market {} and date {}",
url.substring(url.length() - 2), DateFormatUtils.format(queryDate, "yyyy/MM/dd"));
}
}