0
votes

Cliquez sur un bouton dans JavaScript sans identifiant de bouton

Je tente d'automatiser un bouton Cliquez sur un site Web. Le seul problème est que le HTML pour le bouton ressemble à ceci (veuillez noter que ce n'est pas le bouton EXACT que j'essaie de cliquer, ce n'est qu'un exemple réel de ce que ressemblent beaucoup de boutons):

<button type="submit" class="Ghost-btn">Continue</button>  


3 commentaires

Si c'est le premier bouton, vous pouvez simplement obtenir tous les boutons et travailler avec le premier élément de ce tableau


Document.QuerySelector ('. Ghost-BTN'). Cliquez sur () Est ce que vous voulez.


Les réponses ici sont correctes, mais pour une précision même, vous pouvez sélectionner le bouton dans les outils de développeur de votre navigateur et choisir quelque chose comme "Copier le sélecteur CSS", qui vous donnera un sélecteur plus long et unique pour cet élément (probablement quelque chose> quelque chose> quelque chose .Host-btn.


3 Réponses :


2
votes

Vous pouvez utiliser document.Quiseryselector pour utiliser n'importe quel sélecteur CSS pour sélectionner un élément dans JS, par exemple: xxx

lu En savoir plus à ce sujet à MDN .


Cela vous permettrait également de sélectionner le bouton d'une autre manière, par exemple: xxx

est également valide.


4 commentaires

Merci pour cela, ça a fonctionné. J'avais essayé cela, mais sans le '.' avant le nom de la classe. Juste à l'insu, comment allez-vous sur une touche "Taille" de la page, car ils n'ont pas de noms de classe séparés. US 4 est le code de l'une des tailles. La même chose s'applique au code de sélection des différents pays:

UK est un moyen de cliquer sur les boutons en utilisant leurs noms? Est ce que sont les noms de balises? Merci encore Louis


Donc, si vous utilisez le même code (par exemple, document.QuerySelector (". Taille") ) Il serait TOUJOURS Sélectionnez la présence première élément. Si, dites, vous avez toujours voulu la 6ème occurrence, vous pouvez utiliser document.QuerySelector (". Taille: Nth-enfant (6)") . Sinon, vous pouvez utiliser document.queryselectorall (". Taille") pour obtenir chaque élément avec la classe de la classe , puis sur chacune d'elles et sélectionnez une logique - par exemple. En regardant son contenu de texte, etc.


Comment le permettez-vous de sélectionner une taille en fonction de son contenu de texte? Par exemple 4


@Louis quelque chose comme ceci: jsfiddle.net/xr6egkyl/1 . La magie se passe tout dans la fonction getByContents , le reste est pour la démo.



0
votes

ID est juste un moyen pratique et simple d'identifier n'importe quel élément DOM. Vous pouvez utiliser un autre attribut ou un ensemble d'attributs uniques au document à cet effet.

Par exemple "Type" dans votre exemple, s'il s'agit de la seule saisie de type "Soumettre" Ou s'il y a plusieurs boutons "Soumettre", vous pouvez utiliser type = "Soumettre" et class = "ghost-btn" ou même du texte du bouton. < / p>


0 commentaires

0
votes

Vous pouvez utiliser

  • document.getelementsBlassName ("Ghost-BTN");
  • document.getelementsByTagname ("Button");

    Mais assurez-vous qu'il pourrait y avoir plus d'un composants, il vous suffit de sélectionner le bon.


0 commentaires