2013-06-23 55 views

回答

0

您有一种方法可以传递页面内的所有对象,只需传递元素以在此情况下选择“table”,即可将所有表格放入一个数组x中。

var x = getElementsByTagName("table"); 
var nTables = x.length 

现在它很容易数组的第一个元素x是第一个表等等。

结论:对于对象来说,不需要知道名称,ID ...以到达任何页面上的每个对象,只需获取所需的所有元素,并向实例变量和比较东西进行变形。

勇闯:)

0

使用getElementsByName(),或getElementsByXpath()。这两个函数都返回一个HtmlElements列表,但在XPath中,您可以过滤以仅获取所需的表格。

final WebClient web = new WebClient(); 
final Page page = web.getPage("..."); 
List<?> tables = page.getElementsByName("repetitive_table_name"); 
HtmlElement secondTable = (HtmlElement) tables.get(1); 
HtmlElement thirdTable = (HtmlElement) tables.get(2); 

final WebClient web = new WebClient(); 
final Page page = web.getPage("..."); 
// This will return like the getElementsByName 
List<?> tables = page.getElementsByXpath("//table[@id='repetitive_table_name']"); 
HtmlElement secondTable = (HtmlElement) tables.get(1); 
HtmlElement thirdTable = (HtmlElement) tables.get(2); 
相关问题