Tampermonkey按类点击按钮

时间:2014-06-02 11:04:38

标签: function greasemonkey tampermonkey

所以我有一个学校问题,我需要访问一个网站,但这个网站要求我通过大约4个门户网站到达那里,我希望只是写一个快速的脚本来为我这样做。问题来自于网站非常草率,并且在certian按钮上写的名称相同,所以我想点击基于类的按钮

这些类是readit2,readit23,readit239和readit2394

 $(function(){
        document.getElementByClassName(readit2).click();
       });

上面的代码我认为只要加载第一页就会点击它但不会。任何帮助都会很棒

// ==UserScript==
// @name       dumb spider web
// @namespace  ===============
// @version    0.1
// @description  gets me through this dumb stuff
// @match      ===============
// @copyright  2012+, You
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==

编辑^添加了标题内容

更多编辑:

它现在通过控制台工作,但通过篡改猴子或油脂猴子我无法让它实际上预先形成行动。

$(function(){
    document.getElementsByClassName("readit2")[0].click();
});

通过控制台工作,但在脚本启动时不运行。

2 个答案:

答案 0 :(得分:2)

问题是您正在尝试访问一些仍然不存在的节点。将其添加到您的脚本中:

// @run-at  document-end

然后确保加载并打印所有节点 另一个旁路就是:

$(document).ready(
    //your script
);

答案 1 :(得分:1)

我开始查看所有错误的内容,原始代码:

$(function(){
    document.getElementByClassName(readit2).click();
});

这个问题是调用应该是getElementsByClassName(复数"元素"),因为类通常是共享属性。这也会返回一个数组,所以如果你肯定只有一个数组:

$(function(){
    document.getElementsByClassName("readit2")[0].click();
});

如果没有,我建议获取文本并验证其中包含您期望的内容。

编辑:添加引号。