2013-06-23 90 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); 
相關問題