<button type="submit" class="btn btn-block btn-success" onclick="ASPxLoadingPanel1.Show();">
<span class="pull-left"><i class="fa fa-paste"></i></span>
<span class="bold">Search</span>
</button>
所以我想从一个html页面获取这个Button。
button = a.getInputByName("btnLogin");
这不是方法。有人可以帮助我并告诉我如何通过HtmlUnit获取此按钮。
答案 0 :(得分:2)
尝试获取标记名称,然后在列表中指定索引:
HtmlButton button = (HtmlButton) page.getElementsByTagName("button").get(0);
//它对我不起作用。
答案 1 :(得分:1)
使用xpath获取按钮的示例。
示例代码
public void xpath() throws Exception {
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
//get list of all divs
final List<?> divs = page.getByXPath("//div");
//get div which has a 'name' attribute of 'John'
final HtmlDivision div = (HtmlDivision) page.getByXPath("//div[@name='John']/button").get(0);
webClient.closeAllWindows();
}
答案 2 :(得分:1)
使用XPath应该是最好的方法。问题是你必须自己找到最合适的XPath。
一旦有了XPath标准,HtmlUnit代码就很简单了:
HtmlButton button = page.getFirstByXPath("//button[@type='submit' and span[text()=='Search']]");
button.click();
我不确定我建议的XPath字符串是否可以解决问题,但它应该非常接近。