使用HTMLUNIT转到下一个ASPX页面



我正在尝试用 htmlunit (Java(解析 aspx 页面。在每个页面的底部,都有标签可导航到下一个/上页。在每个页面中,只有11页数字可见,直接转到最后一页。

我的问题是,即使我单击了第11页,htmlpage也无法加载列表中的下一个11页号码...因此我无法解析例如第12页。

这是Webclient的初始化:

WebClient webClient = new WebClient(BrowserVersion.CHROME, PROXY_HOST, PROXY_PORT);
webClient.getOptions().setTimeout(12000);
webClient.waitForBackgroundJavaScript(60000);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setCssEnabled(false);
webClient.getOptions().setUseInsecureSSL(true);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.getCookieManager().setCookiesEnabled(true);

这是我用来单击锚点的代码,转到下一页:

HtmlPage rootPage = webClient.getPage(url);
HtmlAnchor a = rootPage.getAnchorByHref(String.format("javascript:__doPostBack('ctl00$ContentPlaceHolder1$GridViewAlbo','Page$%d')", page));
HtmlPage requestedPage = a.click();

屏幕截图

我终于使用了phantomjs并设法解析了所有页面。

最新更新