Java HtmlUnit点击锚链接不起作用。我如何获得新页面?

时间:2016-04-25 01:01:06

标签: javascript java html web-scraping htmlunit

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

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 /列表/ ID = G407&安培;?的RequestType =浏览&安培;过滤器= ZmlsdGVyPXMlM2FmcmVlJmxpbWl0PTMw"   class =" load-more list"数据hijax ="假" ]

我将继续研究这个问题并发布我在这里找到的内容。

1 个答案:

答案 0 :(得分:0)

我有一个类似的问题,希望这会有所帮助。 它解决了自己的问题。在我们在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()处理程序附加到它,它根据&#39;类进行操作。我的主人的父母的财产:

    $('.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()再次被破坏。