我正在使用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第二张表