codificadores
Quiero hacer algunas tareas con un titiritero.
Quiero iniciar sesión en una página y obtener la URL de los primeros diez artículos enumerados en esa página.
pero estas URL están anidadas dentro de una tabla. Necesito obtener las primeras 10 o incluso veinte URL de esa página.
aquí está la estructura del sitio web el
La etiqueta del cuerpo HTML tiene una etiqueta div con #cuerpo, dentro de este div están las 3 tablas, la segunda tabla es el noveno elemento secundario dentro del div con #cuerpo.
--hay 3 tablas Html en la página, pero las URL que quiero raspar están dentro de la segunda tabla
así es como se ve la segunda tabla
<table> <tbody> <tr> <th>Followed Topics</th> </tr> <tr> <td id="top6803855" class="w"> <a name="6803855"></a> <img src="/icons/normal_post.gif"> <b> <a href="/politics">Politics</a> </b> " / " <b><a href="/6803855/nnamdi-kanu-ifeanyi-ubah-wants">The main article which i want to grab the href</a></b> <a onclick="unfollowtopic('anylink.com', '6803855'); return false;" href="anylink.com"> <img src="/static/delete.png"></a> <br> <span class="s"> by <b><a href="/username">username</a></b>. <b>19</b> posts & <b>389</b> views. <b>12:31am</b> (<b><a href="/username">username</a></b>) </span> </td> </tr> </tbody> </table>esto es lo que he usado hasta ahora y funciona sin problemas en localhost.
document.querySelector("body > div > table:nth-child(9) > tbody > tr:nth-child(2) > td > b:nth-child(4) > a").hrefrepito el selector anterior cambiando el no en :nth-child() para agarrar el tr restante
pero no funciona bien en Heroku, a veces selecciona el elemento, a veces muestra un error
'No se pueden leer las propiedades de null (leyendo 'href')'
Tal vez intente ir por el último hijo "b" de la clase span:
document.querySelector("body > div > table:nth-child(9) > tbody > tr:nth-child(2) > span.s > b:last > a").href