Javascript 如何使Greasemonkey单击具有特定文本的链接?

Javascript 如何使Greasemonkey单击具有特定文本的链接?,javascript,hyperlink,greasemonkey,Javascript,Hyperlink,Greasemonkey,到目前为止我有这个 // ==UserScript== // @name Random Creature LevelUP for Avadopts // @namespace Xaric // @description Clicks randomcreature for leveling up on Avadopts // @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min

到目前为止我有这个

// ==UserScript==
// @name           Random Creature LevelUP for Avadopts
// @namespace      Xaric
// @description    Clicks randomcreature for leveling up on Avadopts
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// @include *


//--- Note that the contains() text is case-sensitive.
var TargetLink          = $("a:contains('Give a random creature a level!')")

if (TargetLink  &&  TargetLink.length) 
     window.location.href    = TargetLink[0].href
但它不起作用

有什么想法可以让它工作吗?

必须精确格式化

该部分的格式仍然不正确。 使用:


我从未听说过“contains”css伪类,但您总是可以通过链接进行循环

var l = document.getElementsByTagName("a");
var i = l.length; 
while (i--) {
    if (l[i].innerHTML == "Give a random creature a level!") {
        window.location.href = l[i].href;
        break;
    }
}
要获得更可靠的结果,可以使用正则表达式:

var l = document.getElementsByTagName("a");
var i = l.length; 
while (i--) {
    if (l[i].innerHTML.match(/random creature/)) {
        window.location.href = l[i].href;
        break;
    }
}

可能会复制到相关页面的链接,或者将其源代码粘贴到pastebin.com,然后链接到该页面。这段代码在有这样一个链接的页面上非常有效@Brock Adams这是源代码的粘贴库。Xaric,我看到你已经更新了问题代码。好。现在请注意,问题代码忽略了答案中指出的问题!!我给了你一个完整的工作脚本,没有比这更好的了。。。在那个网站上测试过。。。按设计工作。不,您的元数据块格式错误。从
/==UserScript=
/==/UserScript=
都有非常具体的规则。我还注意到我忘了添加分号。这可能就是它不起作用的原因。
var l = document.getElementsByTagName("a");
var i = l.length; 
while (i--) {
    if (l[i].innerHTML.match(/random creature/)) {
        window.location.href = l[i].href;
        break;
    }
}