我是3个网站的管理员,我的工作是删除不需要的项目,通常点击标有“删除”的每个项目。我想自动化这个过程。试图使用一些自动化程序(宏录像机),但它们是静态的。
我不是Greasemonkey程序员,如果有人能给我一个关于从哪里开始的想法,我会很感激,
网址格式:
<a class="delete" href="http://www.domain.com/#!/item/delete/{id}">Delete</a>
如果有class="delete"
,我想点击删除链接。
每个页面包含20个链接。
单击“删除”链接时,页面不会刷新,jQuery。
答案 0 :(得分:2)
var all = document.getElementsByClassName("delete");
for(var i=0; i<all.length; i++) {
var deleteUrl = all[i].href;
var ifr = document.createElement("IFRAME");
document.body.appendChild(ifr);
ifr.src = deleteUrl;
}
您可以在浏览器的JavaScript控制台中运行如上所述的简单脚本,或将其设置为书签。
答案 1 :(得分:0)
另见"How to make Greasemonkey click lots of links one by one?"。
由于每个“删除”按钮都会打开一个新页面,因此直接点击将从当前页面导航。因此,请改为打开<iframe>
中的链接。
使用jQuery使其更容易,更健壮。以下是完整脚本 ...
对于简单的静态页面:
// ==UserScript==
// @name _Fire lots of delete buttons
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
var deleteLinks = $("a.delete");
deleteLinks.each ( function () {
if (this.href) {
$("body").append (
'<iframe class="gmDelIfr" src="' + this.href + '"></iframe>'
);
}
} );
//-- Use whatever CSS you desire. Like `display: none;`, for example.
GM_addStyle ( " \
iframe.gmDelIfr { \
width: 80%; \
height: 2em; \
margin: 0; \
padding: 0; \
} \
" );
对于AJAX驱动的页面:(也适用于静态页面)
// ==UserScript==
// @name _Fire lots of delete buttons
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// ==/UserScript==
waitForKeyElements ("a.delete", clickDeleteLink);
function clickDeleteLink (jNode) {
var thisHref = jNode[0].href;
if (thisHref) {
$("body").append (
'<iframe class="gmDelIfr" src="' + thisHref + '"></iframe>'
);
}
}
//-- Use whatever CSS you desire. Like `display: none;`, for example.
GM_addStyle ( " \
iframe.gmDelIfr { \
width: 80%; \
height: 2em; \
margin: 0; \
padding: 0; \
} \
" );