es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Haga clic automáticamente en cada pestaña del navegador web y haga clic en el botón de enviar.

Dado un conjunto de páginas web abiertas en un navegador, todas del mismo sitio web y cada una con un botón de envío, ¿es posible escribir algo que vaya a cada pestaña y haga clic en el botón de envío?

Me pregunto si algo así se podría hacer con un gestor de scripts de usuario, como Greasemonkey o Tampermonkey.

O, alternativamente, ¿existe alguna forma de que cuando se abra la página web, en lugar de simplemente abrirla, pueda abrirla, esperar a que se cargue y luego presionar el botón de envío?

La página web se abre mediante un formulario form, no con window.open():

<form target="_blank" action="https://acoustid.org/edit/toggle-track-mbid" method="POST">
    <input name="state" value="1" hidden="">
    <input name="track_id" value="9509889" hidden="">
    <input name="mbid" value="6573f01d-0df5-442d-90c3-a69783c217c3" hidden="">
    <input type="submit" value="Unlink">
</form>

Aquí está la página web: Enlace al sitio web. Haz clic en Unlink para abrir una nueva ventana y ver el formulario (necesitas una cuenta).

Imagen del formulario

El código HTML del formulario es el siguiente:

<form method="POST" action="/edit/toggle-track-mbid">

<div class="form-group">
  <label for="note_i">Comentario:</label>
  <textarea class="form-control" name="note" id="name_i"></textarea>
</div>

<input type="hidden" name="mbid" value="b3350a3b-b8e0-45c0-8289-006451788849">
<input type="hidden" name="track_id" value="12211538">
<input type="hidden" name="state" value="1">
<input type="hidden" name="submit" value="1">
<input type="submit" class="btn btn-default" value="Enviar">
</form>
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible escribir un script de usuario para hacer clic en el botón de enviar en cada pestaña abierta en un navegador. Esto se puede hacer utilizando una combinación de la función GM_tab en Greasemonkey y la función document.querySelector para seleccionar el botón de enviar. Aquí tienes un ejemplo de cómo se podría hacer:

    // Recorre cada pestaña abierta
    GM_tab.forEach(tab => {
      // Espera a que la pestaña termine de cargar
      tab.addEventListener('load', function() {
        // Obtén el botón de enviar en la página
        const submitButton = tab.document.querySelector('input[type="submit"]');
        // Haz clic en el botón de enviar
        submitButton.click();
      });
    });
    

    Alternativamente, si deseas enviar automáticamente el formulario cuando se cargue en lugar de simplemente hacer clic en el botón de enviar, puedes utilizar la función submit del elemento formulario. Aquí tienes un ejemplo de cómo se podría hacer:

    // Espera a que el formulario termine de cargar
    document.addEventListener('load', function() {
      // Obtén el formulario en la página
      const form = document.querySelector('form');
      // Envía el formulario
      form.submit();
    });
    

    Ten en cuenta que en ambos ejemplos, es posible que debas modificar el selector utilizado para seleccionar el botón de enviar o el formulario para que coincida con el sitio web específico en el que estás trabajando.

Comments are closed.