Как скрести стол с помощью кукловода?

1

Я хочу очистить таблицу и сохранить данные в массиве, как result=[tr][ts].

Как я могу сделать результат, который я хочу?

Я пробую что-то вроде этого:

const row = await mainframe.$$eval('#clasificacion > .panel > .table- responsive > #resultadosTable > tbody > tr ', trs => trs.map((tr) =>{
console.log(tr);
return tr.textContent;}));

Но результат подобен result=[tr].

Теги:
google-chrome-devtools
puppeteer
headless-browser

1 ответ

1
Лучший ответ

Вы можете использовать следующий метод для получения 2D-массива textContent ячейки textContent которому можно получить доступ через row[rowNum][cellNum]:

const selector = '#clasificacion > .panel > .table-responsive > #resultadosTable > tbody > tr';

const row = await mainframe.$$eval(selector, trs => trs.map(tr => {
    const tds = [...tr.getElementsByTagName('td')];
    return tds.map(td => td.textContent);
}));

// console.log(row[rowNum][cellNum]); <-- textContent
  • 1
    Это работает !!! Огромное спасибо.
  • 1
    Спасибо вам большое! Работает как шарм

Ещё вопросы

Сообщество Overcoder
Наверх
Меню