您知道htmlunit是否支持返回表单元素的表单迭代。 我可以通过使用getInputByName来获取特定元素,如果元素名称不存在,甚至可以使用该值。但是如何在列表中获取特定表单的所有元素呢。是可能的还是我需要自己解析表单
非常感谢
答案 0 :(得分:0)
来自文档:
XPath is the suggested way for more complex searches, a brief tutorial can be found in W3Schools
@Test
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']").get(0);
webClient.closeAllWindows();
}
SO:不,它是不可能的,你可以使用XPath(一个java库来解析xml(html是xml))来获得你想要的效果。
祝你好运:)答案 1 :(得分:0)
您可以通过多种方式进行迭代,例如选择行并迭代它们
HtmlTable table = (HtmlTable) filings_page.getByXPath(
"//table[@class='GDOGFYVLF']").get(0);
java.util.List<HtmlTableRow> table_rows = table.getRows();
for (int i = 1; i < table.getRows().size(); i++) {
//your logic
}