9
votes

Cliquer par programme sur tous les boutons sur une page de la console de Chrome

J'essaie d'utiliser la console chrome pour sélectionner tous les boutons d'une page et cliquez sur eux par programme. Une page similaire à ce que je joue avec est celui-ci: http: // API .opsstact.org / api-ref.html # Compute-ext

J'ai déjà essayé d'exécuter la commande ci-dessous, mais cela n'a pas fait ce que je voulais. P>

$("btn small info").click()


4 commentaires

Des classes? $ (". btn.small.info"). Cliquez sur ();


Vous voudrez peut-être aussi retarder les clics ... Juste une pensée, mais en cliquant sur tous les boutons en même temps, peut donner des effets étranges en fonction de leur comportement réel.


Retarder les clics n'était pas nécessaire dans ce cas.


Quelqu'un peut-il m'aider à ce sujet? Stackoverflow.com/Questtions/24043355 / ...


6 Réponses :


4
votes

Votre classe semble manquer le . code>. Essayez l'un d'entre eux:

$(".btn").click();
$("button").click();
$("input:submit").click();
$(".btn.small.info").click();


2 commentaires

Tous ces éléments ne sélectionnent que le premier bouton (à la page avec plus), qu'est-ce qui ne va pas? Chrome 50.0 sur Linux.


$ (". Supprimer"). Cliquez sur (); -> Cela a fonctionné comme un charme 🔥💪 thx!



3
votes

Votre sélecteur peut être faux. Essayez de faire quelque chose comme ça xxx

qui cliquera sur une touche avec les classes BTN petites infos , ce que vous aviez essayé de cliquer sur des éléments DOM. < P> Voici plus de documentation sur les sélecteurs JQuery:


0 commentaires

12
votes

Eh bien, vous voulez vous assurer de ne sélectionner que les boutons de la section afin de ne pas exécuter la recherche. XXX


3 commentaires

C'est la solution parfaite. Le #body est requis pour une opération correcte.


ERREUR SUR CHROMIUM 50.0 sur Linux: Company TypeError: $ (...). La gâchette n'est pas une fonction (...) .


@pevik mon devinez est qu'il n'y a pas de jQuery sur la page que cette solution utilise.



4
votes

En supposant que la page a déjà des bibliothèques de jQuery incluses (que la page référencée fait), puis:

var jq = document.createElement('script');
jq.src = "http://code.jquery.com/jquery-latest.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
jQuery.noConflict();


0 commentaires

6
votes

Basé sur SALKETERS Commentaire sur la question, voici un petit script qui cliquera de manière programmative tous les boutons un par un à un intervalle de 1 seconde, et logez également le bouton cliqué sur la console:

var buttons = $("button"), 
    interval = setInterval(function(){
        var btn = $(buttons.splice(0, 1));
        console.log("Clicking:", btn);
        btn.click();
        if (buttons.length === 0) {
            clearInterval(interval);
        }
    }, 1000);


2 commentaires

Salut vieux fil mais je me demandais si une explication était disponible. Qu'est-ce que la méthode de l'épissure atteint. Je suppose que supprimer chaque bouton de la matrice tel qu'il est cliqué?


@James c'est correct :) développeur.mozilla. org / fr-nous / docs / web / javascript / référence / ...



2
votes

[ Solution simple pour les débutants forts>] Utilisez ci-dessous pour cliquer sur tout l'élément correspondant

*//Xpath to get all the elements whose class is "followBtn" and tagname button*
var btns = $x('//button[@class="followBtn"]')

*// looping through all the elements in btns*
for (var i =0; i<btns.length; i++) 
btns[i].click();


0 commentaires