title: Select the second table row of a table using puppeteer
body: <p>I'm working in a crawler using node.js and puppeteer, my goal is to get the data of two columns in a table(date and description), the code work fine until the block to get the data from columns...</p>
  
  <p>Full code below, include the url for the page i'm crawling:</p>
  
  <pre><code>const fs = require('fs');
  const puppeteer = require('puppeteer');
  
  const urlConsulta = "http://www.tre-pr.jus.br/";
  const numeroProcessoSeq = "000000889";
  const numeroProcessoAno = "2014";
  const numeroProcessoDigito = "6160047";
  
  var wait = ms =&gt; new Promise((r, j)=&gt; setTimeout(r, ms));
  
  void (async () =&gt; {
      try {
          const browser = await puppeteer.launch({
              headless: false
          });
          const page = await browser.newPage();
          await page.goto(urlConsulta);
          await page.select('#acao', 'pesquisarNumUnico');
          await page.evaluate((numeroProcessoSeq, numeroProcessoAno, numeroProcessoDigito) =&gt; {
              document.getElementById('numUnicoSequencial').value = numeroProcessoSeq;
              document.getElementById('numUnicoAno').value = numeroProcessoAno;
              document.getElementById('numUnicoOrigem').value = numeroProcessoDigito;
          }, numeroProcessoSeq, numeroProcessoAno, numeroProcessoDigito);
  
          await page.$eval('form[action*="http://www.tre-pr.jus.br/@@processrequest"]', form =&gt; form.submit());
  
          await page.waitForNavigation();
          var frame = await page.frames().find(f =&gt; f.name() === 'ifr_servicos');
          await frame.click('a[href*="ExibirDadosProcesso"]');
          await page.frames().find(f =&gt; f.name() === 'ifr_servicos');
          await wait(10000);
          await frame.click('[name*="todos"]');
          await frame.$eval('[name*="ExibirPartesProcessoZona"]', form =&gt; form.submit());
          await wait(10000);
          let string = await buscaFases(frame);
          fs.writeFile("teste.txt", string, function(err) {
              if(err) {
                  return console.log(err);
              }
              console.log("The file was saved!");
          }); 
          console.log(string);
          await wait(10000);
          await browser.close();
      } catch (error) {
          console.log(error);
      }
  })();
  
  async function buscaFases(frame) {
      return await frame.evaluate(() =&gt; {
          let div = document.querySelector('div[id*="conteudo"]');
          let rowns = Array.from(div.children[4].children[0].children);
          let movimentosInfo = rowns.map(row =&gt; {
            let data = row.querySelector("tr td:first-child").textContent;
            let descricao = row.querySelector("tr td:first-child + td").textContent;
            return { data, descricao };
          });
          return JSON.stringify(movimentosInfo);
      });
  };
  </code></pre>
  
  <p>The specific lines to get the data :</p>
  
  <pre><code>let data = row.querySelector("tr td:first-child").textContent;
  let descricao = row.querySelector("tr td:first-child + td").textContent;
  </code></pre>