Esta es mi estructura HTML:
<div id="divImporte"> <p class="btn01"> <input type="button" name="Enviar Tasas" value="Enviar Tasas"> </p> </div>Y esta es la forma en que trato de seleccionar la entrada:
primera forma:
const buttonTasas = await page.$$("input[type='button'][value='Enviar Tasas']");segunda manera:
const buttonTasas = await page.waitForSelector("input[type='button'][value='Enviar Tasas']");y luego haga clic en él:
if (buttonTasas && buttonTasas.length > 0) { await buttonTasas[0].click(); }tengo este error:
"Error: Node is either not clickable or not an HTMLElement"¿Cómo puedo resolver? Gracias
A veces, el puppeteer simplemente no puede hacer clic por alguna razón, por lo que después de verificar que buttonTasas no sea nulo e intentar agregar un poco de retraso justo antes de llamar al método click() , puede probar la siguiente solución para llamar a la función de clic directamente en la página:
page.evaluate((btnSelector) => { // this executes in the page document.querySelector(btnSelector).click(); }, "input[type='button'][value='Enviar Tasas']");o tal vez puedes usar el elemento directamente:
page.evaluate((btn) => { // this executes in the page btn.click(); }, buttonTasas);Las herramientas de interfaz de usuario para navegadores suelen tener problemas con los espacios en blanco. Intente buscar un elemento utilizando una expresión sin espacios ni líneas nuevas. Puede encontrar una palabra dentro de una cadena usando *= en expresiones CSS:
await page.$$("input[type='button'][value*='Enviar']");o
await page.$$("input[type='button'][value*='Enviar'][value*='Tasas']");