用uchome做的sns社区,用户每天可以获取一些积分,比如登录、留言、评论等操作。如果没有验证码,我们可以用程序来实现。火狐扩展可以对浏览器窗口进行操作、同时可以在网页跳转过程中保留状态,这为我们开发一个“模拟点击”的程序提供了可能性!
下面是一些代码片段,具体扩展,附在文章后面。
模拟留言
doComment: function() {
var done = false;
var commentMessage = this.getDoc().getElementById('comment_message');
var commentsubmitBtn = this.getDoc().getElementById('commentsubmit_btn');
if(commentMessage!=null && commentsubmitBtn!=null) {
commentMessage.value = this.messageExample.randItem();
if(this.lastUrl != this.getDoc().location.href) {
commentsubmitBtn.click();//注释该行,可以屏蔽留言,便于调试
this.lastUrl = this.getDoc().location.href
}
done = true;
}
return done;
},
获取感兴趣的链接
var allLinks = doc.getElementsByTagName("a");
for(var i=0,linkLen=allLinks.length; i<linkLen; i++) {
var linkItem = allLinks[i].toString();
var tmpOffset = linkItem.indexOf('#');
if(tmpOffset != -1) {
linkItem = linkItem.substr(0, tmpOffset);
}
var fullUrl;
if(that.pageRegx.message.test(linkItem)) {
fullUrl = Url.format(linkItem);
if(!that.urlSpace.inArray(fullUrl)) {
that.urlSpace.push(fullUrl);
}
} else if(that.pageRegx.blog.test(linkItem)) {
fullUrl = Url.format(linkItem);
if(!that.urlBlog.inArray(fullUrl)) {
that.urlBlog.push(fullUrl);
}
} else if(that.pageRegx.album.test(linkItem)) {
fullUrl = Url.format(linkItem);
if(!that.urlAlbum.inArray(fullUrl)) {
that.urlAlbum.push(fullUrl);
}
} else if(that.pageRegx.poll.test(linkItem)) {
fullUrl = Url.format(linkItem);
if(!that.urlPoll.inArray(fullUrl)) {
that.urlPoll.push(fullUrl);
}
}
}
自定义的数组方法
Array.prototype.randItem = function() {
var item = 0;
if(this.length > 0) {
item = this[Math.floor(Math.random()*10000)%this.length];
} else {
item = '';
}
return item;
};
Array.prototype.inArray = function(needle) {
var hasExisted = false;
for(var i=0,len=this.length; i<len; i++) {
if(needle.toString() == this[i].toString()) { //一定要用toString(),this[i]是一个对象
hasExisted = true;
break;
}
}
return hasExisted;
};
Tool = {
notRepeatItem: function(arrStack, arrRepeat) {
var result = '';
var goon = true;
var hits = 100000;
var tmpitem;
do
{
tmpitem = arrStack.randItem();
if(!arrRepeat.inArray(tmpitem)) {
result = tmpitem;
goon = false;
}
hits--;
}
while (goon && hits);
return result;
}
};
注:
把下载的xpi文件的后缀改为zip,就可以看到源代码了。
安装成功之后,在火狐状态栏右侧会有“homezilla”的框,鼠标点击开始执行,再次点击停止运行。
本文介绍了一种利用火狐扩展实现Uchome SNS社区自动化互动的方法,包括模拟用户留言、评论等行为以获取积分。通过自定义数组方法确保操作的多样性和不重复性。
349

被折叠的 条评论
为什么被折叠?



