TypeError:无法读取null的属性"click"

Ber*_*ian 10 html javascript console jquery greasemonkey

我已经使用这些代码在Twitter上大规模关注/取消关注/收藏/不喜欢;

$('button.follow-button').click();
$('button.ProfileTweet-actionButtonUndo').click();
$('a.favorite').click();
Run Code Online (Sandbox Code Playgroud)

我在网上找到了一些不工作的代码,并试图修复,所以他们现在几乎正在工作.唯一的办法就是转到google chrome页面,按f12,打开控制台并运行命令.

所以现在,我想在Vine中使用相同的系统.有一个扩展谷歌铬使用藤(https://client.vineclient.com/),我试图使用它,因为原始网页(vine.co)甚至没用.

twitter和this之间的唯一区别在于,对于^ followers ^ section的vine客户端,页面中会出现一个弹出窗口.而且我不知道它是否检测到按钮.

所以,我试图从原始页面点击的按钮的代码,(我使用开发人员工具/元素)

<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>
Run Code Online (Sandbox Code Playgroud)

要点击的是这里:

当我手动点击时,它会变为:

<a class="button unfollow" data-id="1066473613911363584"><i class="icon"></i></a>
Run Code Online (Sandbox Code Playgroud)

我用来尝试点击的命令

$(".a.follow").click();
Run Code Online (Sandbox Code Playgroud)

我得到的错误,

TypeError: Cannot read property 'click' of null
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?顺便说一句,在这些代码中,我实际上找不到任何^按钮^代码..谢谢!

UPDATE

  1. http:// prntscr.COM/3pmo2i
  2. http:// prntscr.COM/3pmoyk
  3. http:// prntscr.COM/3pmpym

小智 21

当我在其他地方(例如Selenium)的网页上运行javascript同时使用开发人员工具时,我遇到了这个问题.尝试关闭开发人员工具并运行脚本.

  • 辉煌!我自己从来没有想过这个:) (3认同)

小智 3

为了使用 jQuery 库,您需要确保该库已加载到页面上。正如 @adeneo 提到的,jQuery 不返回 null 值,这意味着该$变量持有对不是 jQuery 的对象的引用。要验证 jQuery 是否已加载到页面上,请typeof jQuery进入 chrome 调试器。如果页面加载了 jQuery,控制台会输出“function”。否则,将输出“未定义”。可以在此处找到将 jQuery 添加到页面的步骤。

一旦您验证了 jQuery 已正确加载到页面上,您将必须更正用于访问所需元素的 CSS 选择器。

$(".a.follow")意思是“选择所有具有‘a’类和‘follow’类的元素”。

<div class="a follow"></div>

相反,您的选择器应该是$("a.follow"),这意味着“选择所有具有 'follow' 类的 'a' 类型元素”。

<a class="follow"></a>