[ad_1]
Hola a todos. Estoy intentando obtener contenido de un sitio web, la página html muestra datos con varias páginas, el contenido de cada página contiene 6 × 15 elementos div.
En la parte inferior de estos elementos div, hay enlazar etiquetas de páginas como página anterior… página 1… página 2… página 3… página siguiente…, el atributo ‘href’ de estas etiquetas enlaza a diferentes ‘ubicación.href’.
Quiero escribir un fragmento de código javascript en la consola F12 para recuperar la información de todos estos elementos div. No estoy seguro de que sea posible hacerlo funcionar.
Todo lo que sé es que BOM tiene un objeto global, una ventana, estoy rastreando el evento de este objeto global, espero capturar el evento cargado de la nueva página cuando hago clic en la etiqueta de cada página y luego uso el documento DOM para buscar elementos div.
Lo que he probado:
el código algo así:
window.addEventListener('load', () => { //1.fetch div items //for(var item of document.querySelectorAll('div.item')) {} //2.find next page label and click //var next_page = document.querySelector('a.next'); //next_page.click(); });
Cuando hago clic en la etiqueta de la primera página, intento activar el ciclo de actualización de los elementos de cada página, mientras, la consola DevTool parece cambiar a un nuevo contexto, el código js NO funciona.
Dado que la ventana BOM es un objeto global y no abrí una nueva ventana, el contenido de la nueva página se cargó en la misma ventana, ¿por qué el evento de carga de la ventana no se activó en la nueva página de contenido cuando hago clic en la etiqueta de la página? ¿qué cambió la ubicación.href?
Solución 1
En primer lugar, esto no es ético sin el permiso de los propietarios del sitio, ¡esto podría agregar tensión a su servidor para su beneficio!
Para hacer clic en un elemento en un sitio, necesita obtener su ID de elemento y usarlo para hacer clic automáticamente, en este caso el elemento ‘a’ para cargar las páginas. Los elementos ‘a’ están contenidos en un div con id ‘paginador’, seleccione cada elemento dentro y haga clic en él.
<script> window.addEventListener('load', function() { //Get all the 'a' elements inside the paginator div... var links = document.querySelectorAll('.paginator a'); //Iterate through each link and trigger a click event for each... links.forEach(function(link) { link.click(); }); }); </script>
[ad_2]
コメント