【编程之美】如何用脚本抢月饼之开发文档
作品一:(获得本期编程之星)
代码及运行效果:
HTML文件:
<!DOCTYPE.html> <html> <head> <meta charset="utf-8"/> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>抢月饼活动</title> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <h1>抢月饼活动</h1> <div class="button"> <button id="rush">点我抢购</button> </div> </body> <script> $(function(){ $("#rush").click(function(){ console.info("成功"); }); }); </script> </html>
效果图:
JS脚本文件 test.user.js
setInterval ()函数用于设定每隔指定的时间就执行对应的函数或代码
setInterval(function(){ $("#rush").trigger('click') },1000)
如何在页面中嵌入自己写的Javascript脚本:
Chrome:
1. 打开chrome扩展程序页 – chrome://extensions
2. 将刚才的自定义脚本保存为以user.js为后缀的 .js文件,例如test.user.js,拖入扩展程序页。
3. 重启浏览器。
4. 进入月饼抢购活动页面。此时脚本已自动执行。
FireFox:
1. 下载并安装用户脚本管理插件 greasemonkey (中文翻译成“油猴子”)。
2. 重启浏览器。
3. 将刚才的自定义脚本保存为 .js文件,例如test.user.js,拖入页面空白处。
4. 进入月饼抢购活动页面。此时脚本已自动执行。
运行效果:
每一秒,控制台都会重复输出一句成功“”。30几秒之后(注意变化):
作品二:来自博客:http://blog.csdn.net/zhyh1435589631/article/details/52999630 (欢迎大家关注~~)
思路
-
首先先写一个简单的网页, 这里我们直接写一个记录点击次数然后跳转到牛客网的页面
http://www.zhyh2010.cn/nowcoder/program/1/
网页相关代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>让我们一起抢红包吧</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"> </script> <script> var count = 0; $(document).ready(function(){ $("#clickme").click(function(){ count++; $("#count").text(count) if (count >= 10) window.location = "http://www.nowcoder.com" }); }); </script> </head> <body> <div position="absolute"> <div> <img id="clickme" src = "/static/1.jpg" height="400px"> </div> <div id="hi"> <p position="absolute" left="20px">点我抢红包哟, 已点击<span id = "count">0</span>次,加油</p> </div> </div> </body> </html>
然后只要将点击事件的脚本注入到这个网页中去就好了
- 牛客网上说可以通过安装一个脚本插件来做, 不过我们测试了一下, 发现没有什么效果
- 替代方案是采用,F12打开控制台程序, 在console 中输入下面代码
setInterval(function () { $("#clickme").trigger('click') }, 1000);
3. 实现
作品三:
页面
<body> <h1>抢月饼活动</h1> <div class = "button"> <button id = "rush"> 点我抢购</button> </div> </body> <script type="text/javascript"> document.getElementById("rush").onclick=function(){ alert("抢购成功"); } </script> 脚本是 window.setInterval(function(){ document.getElementById("rush").click(); },1000);
加载到chrome中,页面就可以一直在执行抢购
作品四:
页面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>抢月饼</title> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"> </script> </head> <body> <h1>抢月饼</h1> <div class="button"> <button id="rush">点我抢购</button> </div> </body> <script type="text/javascript"> $(function() { $("#rush").click(function(){ alert("抢购成功"); }) }) </script> </html> 脚本: setInterval(function(){ $("#rush").trigger("click"); },1000);
作品五:
<!--登录页面--> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="login.do" method="post"> <p> 账号:<input type="text" name="username"> </p> <p> 密码:<input type="password" name="password"> </p> <p> <input type="submit" value="登录"> </p> </form> </body> </html> //此处为控制器(简单写了一个) package cn.web; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MainServlet extends HttpServlet{ private static final long serialVersionUID = -5795314311055119231L; @Override protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String path = req.getServletPath(); System.out.println(path); if("/login.do".equals(path)){ login(req,res); }else if("/toLogin.do".equals(path)){ toLogin(req,res); } } private void toLogin(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { req.getRequestDispatcher("login.html").forward(req, res); } private void login(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { System.out.println(req.getParameter("username")); if("lily".equals(req.getParameter("username"))){ System.out.println("到这里啦"); req.getRequestDispatcher("index.jsp").forward(req,res); //res.sendRedirect("index.jsp"); } } } <!--由控制器跳转到jsp--> <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>我来刷月饼啦</title> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script type="text/javascript"> $(function(){ $("#rush").click(function(){ console.log("抢购成功!"); }); var id = setInterval(function(){ $("#rush").trigger('click'); },1000); }); </script> </head> <body> <h1>我来刷月饼了</h1> <p>的人你老姑打发打发</p> <p> <input type="button" value="马上抢购" id="rush"> </p> </body> </html>大家可以针对写的代码进行交流,也可以分享出自己的作品~