Java HtmlUnit,如何在没有名称属性的情况下获取按钮
不是这样的。有人能帮助我并告诉我如何通过HtmlUnit获取此按钮。一个使用xpath获取按钮的示例 示例代码Java HtmlUnit,如何在没有名称属性的情况下获取按钮,java,htmlunit,Java,Htmlunit,不是这样的。有人能帮助我并告诉我如何通过HtmlUnit获取此按钮。一个使用xpath获取按钮的示例 示例代码 button = a.getInputByName("btnLogin"); public void xpath()引发异常{ 最终WebClient WebClient=新WebClient(); 最终HtmlPage=webClient.getPage(“http://htmlunit.sourceforge.net"); //获取所有div的列表 最终列表divs=page.g
button = a.getInputByName("btnLogin");
public void xpath()引发异常{
最终WebClient WebClient=新WebClient();
最终HtmlPage=webClient.getPage(“http://htmlunit.sourceforge.net");
//获取所有div的列表
最终列表divs=page.getByXPath(“//div”);
//get div的'name'属性为'John'
最终的HtmlDivision div=(HtmlDivision)page.getByXPath(“//div[@name='John']/button”).get(0);
webClient.closeAllWindows();
}
使用xpath获取按钮的示例
示例代码
button = a.getInputByName("btnLogin");
public void xpath()引发异常{
最终WebClient WebClient=新WebClient();
最终HtmlPage=webClient.getPage(“http://htmlunit.sourceforge.net");
//获取所有div的列表
最终列表divs=page.getByXPath(“//div”);
//get div的'name'属性为'John'
最终的HtmlDivision div=(HtmlDivision)page.getByXPath(“//div[@name='John']/button”).get(0);
webClient.closeAllWindows();
}
使用XPath应该是最好的方法。问题是,您必须自己找到最合适的XPath
一旦有了XPath标准,HtmlUnit代码就很简单:
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();
}
我不确定我建议的XPath字符串是否会起作用,但它应该非常接近。使用XPath应该是最好的方法。问题是,您必须自己找到最合适的XPath 一旦有了XPath标准,HtmlUnit代码就很简单:
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();
}
我不确定我建议的XPath字符串是否会起作用,但它应该非常接近。尝试获取标记名,然后在列表中指定索引:
HtmlButton button = page.getFirstByXPath("//button[@type='submit' and span[text()=='Search']]");
button.click();
//它对我不起作用。尝试按标记名获取,然后在列表中指定索引:
HtmlButton button = page.getFirstByXPath("//button[@type='submit' and span[text()=='Search']]");
button.click();
//它对我不起作用。尝试使用xpath获取按钮。@linkstatic这样做有效吗?您还没有提供任何反馈。请尝试使用xpath获取按钮。@linkstatic。这样做有效吗?你还没有提供任何反馈