Java HtmlUnit 单击锚 link 不起作用。我如何获得新页面?

Java HtmlUnit click on anchor link does not work. How do I get the new page?

我试图在使用 HtmlUnit 的网站上单击 "More" 锚标记以扩展列表,直到不存在更多锚标记。

page = client.getPage(url);

HtmlAnchor anchor;

while((anchor = page.getFirstByXPath("//a[@class='load-more list']")) != null) {

page = (HtmlPage) anchor.getPage();

}

我也试过了page = anchor.click();

System.out.println(anchor) 显示

HtmlAnchor[ a href="/guideitem/list/?id=g407&requestType=browse&filter=ZmlsdGVyPXMlM2FmcmVlJmxpbWl0PTMw" class="load-more list" data-hijax="false" ]

我会继续研究这个问题,post 我在这里找到了什么。

我遇到了类似的问题,希望对您有所帮助。 它 "solved itself" 在我们禁用 WebClient 上的 CSS 之后:

webClient.getOptions().setCssEnabled(false);

我的主播是:

<div class="my-anchors-parent-class"/>
  <a href="javascript:void(0) class="text" id="buttonSearch" style="display: block;">Search</a>
</div>

它有一些 JQuery 将 .click() 处理程序附加到它,他们根据我的锚父的 'class' 属性 采取行动:

    $('.my-anchor's-parent-class').each(function () {
        $(this).children('a').click(function () {
          // if parent has another given class appended, call .myFunction(this)
          // else, call other function
        });
    });

当我们重新启用 CSS 时,.click() 再次被破坏。