Tmall砸金蛋活动脚本

今天淘宝在砸猫猫,砸金蛋对抗京东店庆日。砸金蛋让人砸到手酸啊。
于是乎写个脚本砸…

今天淘宝在砸猫猫,砸金蛋对抗京东店庆日。砸金蛋让人砸到手酸啊。
于是就写个脚本砸,虽然机会太微妙,不过看着自动砸挺开心哈。
现在活动都过去了,放出来应该不会危害什么了吧。

运行环境 ruby

gem install capybara # install capybara
ruby brick.rb
brick.rbview raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# encoding: utf-8
#
# 淘宝砸金蛋脚本
# 当前目录建立 tmall 文件放入帐号:密码,分号隔开
#
# mailto wongyouth@gmail.com
# blog http://wongyouth.github.com

require 'rubygems'
require 'capybara'
require 'capybara/dsl'
include Capybara::DSL

Capybara.default_driver = :selenium
Capybara.app_host = 'http://www.tmall.com'

def login
username, password = IO.read('tmall').split(':')

visit('http://login.tmall.com')

setup_frame('loginframe')
within_frame('loginframe') do
fill_in 'TPL_username', :with => username
fill_in 'TPL_password', :with => password
click_button '登录'
end
rescue => e
puts e
end

def setup_frame(name)
jquerify
page.execute_script %Q{
jQuery('iframe').attr('name', '#{name}');
}
end

def jquerify
page.execute_script %Q{
var jq = document.createElement('script');
jq.src = "http://code.jquery.com/jquery-latest.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
}
# wait to load jquery
sleep 2
end

def brick
visit('/')
10000.downto(1).each do
find('#J_Vol_Brick_Btn').click
sleep 1
end
rescue
sleep 5
retry
end

login
brick