【问题标题】:Go to next aspx page using HtmlUnit使用 HtmlUnit 转到下一个 aspx 页面
【发布时间】: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();

Screenshot here

【问题讨论】:

标签: java asp.net postback htmlunit dopostback


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 2014-09-04
    • 2011-01-26
    • 1970-01-01
    相关资源
    最近更新 更多