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() 再次被破坏。
我试图在使用 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() 再次被破坏。