web-dev-qa-db-fra.com

TypeError: Impossible de lire la propriété 'clic' de null

J'ai suivi en masse/désabonné/favorisé/défavorisé sur Twitter ces codes;

$('button.follow-button').click();
$('button.ProfileTweet-actionButtonUndo').click();
$('a.favorite').click();

J'ai trouvé des codes qui ne fonctionnaient pas en ligne et j'ai essayé de les réparer, alors ils sont presque prêts à fonctionner .. La seule chose à faire est d'aller à la page sur Google Chrome, appuyez sur f12, ouvrez la console et exécutez la commande.

Alors maintenant, je voulais utiliser le même système dans Vine. Il existe une extension permettant à Google Chrome d’utiliser Vine ( https://client.vineclient.com/ ) et j’essaie de l’utiliser car la page Web originale (Vine.co) n’est même pas utile.

La seule différence entre Twitter et ceci est que, dans la section Client de Vine pour ^ les abonnés ^, une fenêtre contextuelle apparaît dans la page. Et je ne sais pas s'il détecte les boutons.

Donc, le code du bouton sur lequel je tente de cliquer à partir de la page d'origine (je l'ai pris à l'aide d'outils de développement/d'éléments)

<div class="user">
<img alt="Tuğçe Nur TEKİN" class="avatar" src="http://v.cdn.Vine.co/r/avatars/3C2E4F40F11066473630650847232_pic-r-1397241239141e51579937f.jpg.jpg?versionId=ttIz4CExCjW_4TEnxYbnehPPpXRyzMco">
<div class="wrapper">
<a class="username" 
href="https://client.vineclient.com/explore/users/1066473613911363584">
Tuğçe Nur TEKİN
</a>
</div>
<a class="button follow" data-id="1066473613911363584">
<i class="icon">
</i>
</a>
</div>

La chose à cliquer est ici: 

Quand je clique manuellement, ça change en ceci:

<a class="button unfollow" data-id="1066473613911363584"><i class="icon"></i></a>

Et la commande que j'utilise pour essayer de cliquer

$(".a.follow").click();

L'erreur que j'ai,

TypeError: Cannot read property 'click' of null

Comment puis-je résoudre ce problème? Soit dit en passant, dans ces codes, je n’ai trouvé aucun code de bouton ^ ... ... Merci!

METTRE À JOUR

  1. http: // prntscr. com/3pmo2i 
  2. http: // prntscr. com/3pmoyk 
  3. http: // prntscr. com/3pmpym
10
Berque Cemilian

J'avais rencontré ce problème lorsque j'exécutais javascript sur une page Web (par exemple, Selenium) tout en utilisant simultanément les outils de développement . Essayez de fermer les outils de développement et d'exécuter le script.

21
premganz

Pour utiliser la bibliothèque jQuery, vous devez vous assurer que la bibliothèque a été chargée sur la page. Comme @adeneo l'a mentionné, jQuery ne renvoie pas de valeur NULL, ce qui signifie que la variable $

3
tommyTheHitMan

Dans mon cas, la solution consistait simplement à éteindre l’inspecteur d’éléments dans mon navigateur! :)

1
FranBran

Dans mon cas, il y avait un conflit entre jquery et une autre bibliothèque et j'ai donc dû implémenter un jQuery.noConflict(); dans un script avant d'appeler mon script principal. 

Vous pouvez en savoir plus sur jquery conflict here

0
The Dead Guy