Autoclick su pulsante Conferma

di il
29 risposte

29 Risposte - Pagina 2

  • Re: Autoclick su pulsante Conferma

    Adesso l'ho provato e funziona:

    function autoClick()
    {
         tuttiA = document.querySelectorAll('a');     
         labels = document.querySelectorAll('label');
         if (labels[1].innerText == "Modello di stampa" && tuttiA[2].text == "4")
         {
              document.getElementsByClassName("button confirm")[0].click();
         }
    }
  • Re: Autoclick su pulsante Conferma

    Grazie, purtroppo a me continua a non rispondere… :(

  • Re: Autoclick su pulsante Conferma

    Prova così:

    function autoClick()
    {
         tuttiA = document.querySelectorAll('a');     
         labels = document.querySelectorAll('label');
         if (labels[1].innerText == "Modello di stampa" && tuttiA[2].text == "4")
         {
              tuttiForm = document.getElementsByTagName('form');
    		  tuttiForm[2].submit();
         }
    }
  • Re: Autoclick su pulsante Conferma

    Nessun cenno

  • Re: Autoclick su pulsante Conferma

    Altro tentativo:

    function autoClick()
    {     
         labels = document.querySelectorAll('label');
         const elMessage = document.querySelector('.messages.confirms');
         if (labels[1].innerText == "Modello di stampa" && !(elMessage && elMessage.textContent.trim() === 'La stampa è stata inoltrata'))
         {
             document.querySelector('.button.confirm')?.click();     }
         }
    }
    
    
  • Re: Autoclick su pulsante Conferma

    Niente, non c'è verso… 

  • Re: Autoclick su pulsante Conferma

    Mi pare che, finora, con tutti i tentativi fatti, in nessun caso siamo riusciti a cliccare sul pulsante di CONFERMA STAMPA, presente nella prima pagina. Quindi, molto probabilmente, trattandosi del submit di un form, non è difficile che il sito non lo consenta. In altre parole, in molti siti, il cross-posting non è consentito, per evitare autoriempimenti di form fasulli e fatti di spam.

    Invece, cliccare sul secondo pulsante, è facile, perchè punta ad un link…

  • Re: Autoclick su pulsante Conferma

    D'accordo, ci rinuncio allora, grazie per la disponibilità!

  • Re: Autoclick su pulsante Conferma

    Però, nel primo messaggio, tu hai scritto che l'autoclick funzionava e poi andava in loop.

    Quindi, così dovrebbe funzionare:

    function autoClick()
    {     
         labels = document.querySelectorAll('label');
         const elMessage = document.querySelector('.messages.confirms');
         if (labels[1].innerText == "Modello di stampa" && !(elMessage && elMessage.textContent.trim() === 'La stampa è stata inoltrata'))
         {
             document.getElementsByClassName("button confirm")[0].click();
         }
    }
    
  • Re: Autoclick su pulsante Conferma

     Esatto Fabio, funziona ma va in loop con questa istruzione:

     labels = document.querySelectorAll('label');
      if (labels[1].innerText == "Modello di stampa")
      {document.getElementsByClassName("button confirm")[0].click();}

    Negli altri casi invece non reagisce, ahimè, neppure con il tuo ultimo script.

  • Re: Autoclick su pulsante Conferma

    Però, io ho appena installato in Chrome l'estensione “Scripty - Javascript Injector”. Ho creato lo script seguente:

     labels = document.querySelectorAll('label');
     const elMessage = document.querySelector('.messages.confirms');
     if (labels[1].innerText == "Modello di stampa" && !(elMessage && elMessage.textContent.trim() === 'La stampa è stata inoltrata'))
     {   
      document.getElementsByClassName("button confirm")[0].href="https://www.w3schools.com";
      document.getElementsByClassName("button confirm")[0].click();
     }  

    e viene eseguito tranquillamente, caricando la pagina “conferma stampa.html”

  • Re: Autoclick su pulsante Conferma

    Infatti funziona ora, grande, grazie Fabio!!

    Ora però ho il problema che non posso tornare indietro perchè vengono eseguiti 3 script. E' possibile disabilitare gli script quando si torna indietro nell'applicativo o nel browser? Grazie mille!

    Gli script sono questi (il secondo è il tuo): https://pastebin.com/6E8Jxmi4 

  • Re: Autoclick su pulsante Conferma

    Certo,

    puoi leggere la variabile:

    c = performance.navigation.type;

    Se c == 2 vuol dire che sei ritornato sulla pagina premendo il tasto BACK, e quindi non devi fargli eseguire nessuno script.

    Gli script devono essere eseguiti solo se c != 2.

    Devi metterli dentro un if:

    if (performance.navigation.type != 2)
    {
    	metti qui lo script
    }

    Però, se leggi qua: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigation/type

    c'è scritto che è una procedura deprecata, e potrebbe non essere supportata dalle versioni future dei browser.

  • Re: Autoclick su pulsante Conferma

    Grazie, ho provato intanto solo col primo script usando Google Chrome, ma lo script non si annulla andando indietro.

    if (performance.navigation.type != 2) 
    {
    clickme = document.querySelector('[title="Stampa etichette"]');
     if (clickme) {clickme.click()};
    }
  • Re: Autoclick su pulsante Conferma

    Per disabilitare questo script tornando indietro:

    clickme = document.querySelector('[title="Stampa etichette"]');
    if(clickme){clickme.click()};

    ho anche provato così, ma avviene lo stesso:

    const entries = window.performance.getEntriesByType("navigation");
    if (entries[0].type !== "back_forward") {
    clickme = document.querySelector('[title="Stampa etichette"]');
    if (clickme) {
    clickme.click();
    }
    }

    Ovvero, tornando indietro lo script viene rieseguito e quindi viene di nuovo ricliccato il pulsante 'stampa etichette', e la pagina non resta ferma ma ritorna al punto di partenza.

Devi accedere o registrarti per scrivere nel forum
29 risposte