Как перебрать таблицу и получить данные внутри тега <td>без использования атрибута id tabel в java - PullRequest
1 голос
/ 10 января 2012

Я знаю, что это можно сделать с помощью getElementbyId (tableId), но у меня нет здесь атрибута id.Таблица выглядит как

     <table>
       <tr>
         <td>data</td>
       </tr>
       <tr>
         <td>data5</td>
       </tr>
       <tr>
         <td>data1</td>
         <td>data2</td>
       </tr>
     </table>

Я использую Htmlunit.Есть ли способ получить <td>, используя htmlunit или Java или любой другой API, JavaScript будет работать или нет, я не уверен.

Ответы [ 4 ]

4 голосов
/ 10 января 2012

Вы можете сделать это в JavaScript, используя getElementsByTagName.

2 голосов
/ 10 января 2012

Использование JavaScript DOM traverse:

var table = document.getElementsByTagName("table")[0];
var tds = table.getElementsByTagName("td");
for (var i = 0; i < tds.length; i++) {
  alert(tds[i].innerHTML);
}

Демо здесь: http://jsfiddle.net/AMbk7/

0 голосов
/ 19 декабря 2016

Эй, я даю вам лучший способ найти данные в таблице.
Сначала получите список строк таблицы HTML.затем получить список столбцов HTML-таблицы и использовать для циклов и таблицы итерации.

List<HtmlTableRow> tableRows = table.getRows();

List<HtmlTableCell> tableColumns = table.getRow(0).getCells();

for (int row = 0; row < tableRows.size(); row++)
 {

for (int column = 0; column < tableColumns.size(); column++)
{

// do your work Here 
    }
 }
0 голосов
/ 10 января 2012

Jsoup сделает все необходимое для анализа html. Jsoup - это Java-API для обработки исходного кода HTML. Вы можете получить

  1. Таблица, с которой вы можете анализировать каждую строку или столбец.
  2. Список всех ссылок и источников импорта в этот HTML (импорт как css и js файлы).
  3. Данные конкретного тега.

и более.

Надеюсь, это поможет вам.

...