Estoy usando cefsharp y vb.net para juntar un código para pasar a la siguiente página de este sitio:
https://www.recommendedagencies.com/search#{}
La idea es leer la lista de nombres de empresas en cada página y almacenarla en un archivo csv. Esta parte la puedo hacer.
El problema que tengo es que no puedo encontrar el nombre del botón 'Siguiente'; presumiblemente, si lo tuviera, podría ejecutar algún javascript en el navegador para presionar el botón.
Inspeccioné la página en Firefox, pero no puedo ver ningún nombre que pueda usar; no estoy lo suficientemente familiarizado con el diseño de página/html para saber por qué no o cómo funciona.
¿Alguien podría decirme un buen método para obtener los nombres de los botones de una página web? - He buscado un poco e incluso hice una pregunta similar antes, pero no puedo encontrar nada que ayude, dado mi conocimiento irregular.
Gracias
document.querySelector() para encontrar el elemento mediante el selector csselement.click() para presionar programáticamente siguiente const nextButton = document.querySelector('.sp-pages-nav_next') nextButton.addEventListener('click', (event) => { console.log('something clicked next') }) nextButton.click() <div class="sp-pages-nav sp-pages-nav_next" data-reactid=".1.3.4.1">Next</div> En el fragmento anterior al cargar, puede ver que el código nextButton.click() invoca el registro de la consola. Puede hacer clic en la palabra Next manualmente con el mismo efecto.
en cefsharp tal vez algo como:
browser.ExecuteJavaScriptAsync("(function(){ document.querySelector('.sp-pages-nav_next').click(); })();");Un ejemplo muy similar se puede encontrar aquí:
// When executing multiple statements, group them together in an IIFE // https://developer.mozilla.org/en-US/docs/Glossary/IIFE // For Google.com pre-populate the search text box and click the search button browser.ExecuteJavaScriptAsync("(function(){ document.getElementsByName('q')[0].value = 'CefSharp Was Here!'; document.getElementsByName('btnK')[0].click(); })();");