我正在使用HtmlUnit和java。在我的頁面中,我有很多表,但是4個表具有相同的名稱和相同的屬性。我想分別處理這4個表格。我怎樣才能得到這4張桌子中的第二張桌子和第三張桌子?如何在htmlunit中獲取同名的第二張表和第三張表
0
A
回答
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);
相關問題
- 1. 如何將第一張表中的相同ID插入第二張表
- 2. 根據第一張表從第二張表取數據
- 3. 在第二張表中選擇第一張表中的第一張表格時,在第二張表格中更改表格數據
- 4. 如何更新第二張表是在MySQL中更新的第一張表?
- 5. 如何將一張表中的記錄插入第二張表
- 6. SQL:一張表引用另一張表返回第三張表
- 7. 使用第一張和第二張紙張的特定值填充第三張紙張
- 8. 第二張表的相同響應
- 9. 從第二張表中根據第三張隨機記錄加入
- 10. mySQL觸發第二張表
- 11. 在第二張表中加入兩張ID最高的表
- 12. 如何刪除第一張或讀取第二張excel文件
- 13. 我可以用第三張表格發出兩張WHERE和第二張的值嗎?
- 14. 使用VBA刪除工作簿中的每第二張和第三張
- 15. 連接表與第三張表
- 16. 不刪除第二張表中的行
- 17. 獲取mysql中第三張表的數據
- 18. 加入兩張表加入第三張表的結果?
- 19. 從第三張表中檢索數據
- 20. 如何獲取第一張工作表linqtoexcel的名稱?
- 21. 獲取odt文檔的第一張表
- 22. 從訪問表更新第二張表
- 23. 從協會第三張表中獲取信息
- 24. 使用第一張表的自動增量ID更新第二張表
- 25. LINQ加入從第二張表中獲取最新記錄
- 26. 的Web SQL得到第二張表
- 27. 如何從我的案例的第一張表中找到第二張表中的缺失行?
- 28. 將電子郵件從第一張表保存到第二張表
- 29. 第一張圖片保存在第二張圖片上傳中?
- 30. 未創建Android第二張表