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;
}
}