【发布时间】:2017-04-20 05:34:57
【问题描述】:
我正在尝试使用 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();
【问题讨论】:
标签: java asp.net postback htmlunit dopostback