Estoy tratando de raspar un sitio web y hay una tabla con elementos y texto en los que se puede hacer clic. Logré usar esto para tomar el texto interno de los elementos de la tabla:
const result = await page.$$eval('tableselector tr', rows => { return Array.from(rows, row => { const columns = row.querySelectorAll('td'); return Array.from(columns, column => column.innerText); }); }); Intenté simplemente devolver columns y usar result[row][column].getProperty('innerText').jsonValue() para intentar obtener el texto interno, pero no funciona. ¿Alguien podría explicar dónde me estoy equivocando?
EDITAR: Aquí hay un segmento HTML que representa la estructura de la tabla que estoy tratando de raspar.
<table id = "table_id"> <body> <!-- input button is the clickable element I want to grab --> <tr class = "GridRowStyle"> <td>input button</td><td>text2</td><td>text3</td><td>text4</td><td>text5</td><td>text6</td><td>text7</td> </tr> <tr class = "GridAlternatingStyle"> <td>input button</td><td>text2</td><td>text3</td><td>text4</td><td>text5</td><td>text6</td><td>text7</td> </tr> <tr class = "GridRowStyle"> <td>input button</td><td>text2</td><td>text3</td><td>text4</td><td>text5</td><td>text6</td><td>text7</td> </tr> </body>