用Python脚本做一些网页游戏中力所能及的自动化任务
下面是一段自动登录360传奇霸业游戏的脚本:
- from pymouse import PyMouse
- import time
- import webbrowser
- from pykeyboard import PyKeyboard
- url = "http://cqby.wan.360.cn/game_login.php?server_id=S577&&src=loginhistory"
- webbrowser.open_new_tab(url)
- m = PyMouse()
- k = PyKeyboard()
- m.move(638, 620)
- time.sleep(10)
- m.click(638, 620)
- time.sleep(2)
- k.type_string("pwd")
- time.sleep(1)
- m.move(591, 480)
- m.click(591, 480)
这里用到了鼠标点击和键盘输入,需要分别安装PyMouse和PyUserInput,安装好之后,就可以实现鼠标的点击和键盘的输入操作了。关于PyUserInput的官方文档点这里观看。
鼠标的点击是依靠坐标来定位的,所以我们还需要一个脚本用来获取屏幕上的位置信息。通过在网上搜索,找到了如下脚本(这里我把相应的参数修改了一下,以适应本机的屏幕大小):
- import Tkinter
- class Tkwin:
- def __init__(self, root):
- self.root = root
- self.frame = Tkinter.Frame(root, bd=2)
- self.edit = Tkinter.Text(self.frame, width=1280, height=1300)
- self.edit.pack(side=Tkinter.LEFT)
- self.frame.place(y=0)
- self.edit.bind('<Button-1>', self.action)
- def action(self, event):
- self.edit.insert(Tkinter.END, "Window_location x:%d y:%d\n" % (event.x, event.y))
- self.edit.insert(Tkinter.END, "Screen_location x:%d y:%d\n" % (event.x_root, event.y_root))
- root = Tkinter.Tk();
- window = Tkwin(root)
- root.minsize(1280, 800)
- root.maxsize(1280, 800)
- root.mainloop()
运行这个脚本就可以通过点击鼠标的方式来获取屏幕上相应的位置信息了(在终端里找到脚本并运行):
OK,这样就可以确定传奇霸业页游上按钮的位置并输入我们想输入的信息了。在终端运行我们写好的自动登陆脚本,就实现了传奇霸业的自动登录:
关于上面这个东西是怎么录制的,百度搜索LICEcap,下载安装后打开就可以开始录制屏幕上进行的操作了。
最后即兴赋词一首《林子聪·再见》:
一入传坑深似海,不知怎进此中来。若能回到半年前,网页弹窗、游戏广告,一律不点开。要怪都怪林子聪,一直游戏到现在。
已经快有小一年,充值接近五千块。然并卵,上不能抢boss,下不能虐菜。真是不想再玩下去,投了太多又不舍离开。唉,无奈。
用Python脚本做一些网页游戏中力所能及的自动化任务的更多相关文章
- 使用python脚本实现统计日志文件中的ip访问次数
使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...
- Windows 下针对python脚本做一个简单的进程保护
前提: 大家运行的脚本程序经常会碰到系统异常关闭.或被其他用户错杀的情况.这样就需要一个进程保护的工具. 本文结合windows 的计划任务,实现一个简单的进程保护的功能. 利用py2exe生产 ex ...
- Python脚本模拟登录网页之CSDN篇
1. 通过Firefox配合插件Tamper Date获取登录时客户端向服务器端提交的数据, 并且发现lt和execution这两个字段每次登录时都不一样. POSTDATA=username=you ...
- 网页游戏中PK系统的实现
在游戏开发过程中,写过一个简单的PK系统面板,涉及到前端和后端的交互,我将自己制作的流程分享给大家,大概流程是这样:前端发送PK邀请给后端,后端受到请求后将信息返回给前端处理,先来看下整个流程图及思路 ...
- Python脚本模拟登录网页之ZiMuZu篇
ZiMuZu.tv这个网站喜欢看电影看美剧的人一定都熟悉. 这个网站原先的升级策略是每天登陆网站, 然后去一个"每日签到"的页面点击一个签到按钮, 以实现帐号等级的升级. 之前网上 ...
- Python脚本模拟登录网页之GitHub篇
1. 通过Firefox配合插件Tamper Date获取登录时客户端向服务器端提交的数据, 并且发现authenticity_token这个字段每次登录时都不一样. POSTDATA=commit= ...
- Python脚本自动提取和替换代码中的中文
# -*- coding: utf-8 -*- import os import os.path import re import sys reload(sys) sys.setdefaultenco ...
- 设置eclipse中python脚本的编码格式
今天在运行python脚本时报如下错误: SyntaxError: Non-ASCII character '\xe5' in file D:\pythonlearn1\src\day01\direc ...
- Python能做什么
There should be one--and preferably only one --obvious way to do it. 首先,对于小白来说,Python比较容易上手.额就是个活 ...
随机推荐
- ls常用参数
ls常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩Linux的老司机们每天都要敲的命令,但是这个鸡蛋的命令还有很多中玩法哟~跟着我一起敲一遍吧!在这里我就列举几个常 ...
- 使用Mysql修改密码命令更改root的密码
使用Mysql修改密码命令更改root的密码. 进入Mysql数据库命令行方式有两种方式: 方式一:在Mysql开始菜单里包含Mysql命令行客户端,只要点击输入root的密码即可进入. 方式二:在D ...
- 01分数规划poj2728(最优比例生成树)
Desert King Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 21766 Accepted: 6087 Desc ...
- (二)重拾单片机 第一天 LED灯
由图知道 低电平 亮,高电平 灭 控制第一个 LED1 亮灭程序代码,如下 #include<reg52.h> #define uchar8 unsigned char #define u ...
- 反射认识_04_反射调用类方法Method
包1: package ReflectionMethod; public class ReflectionMethod { String str1="str1"; public v ...
- Logic Bist Arch
一般现在多用的都是offline BIST的架构,可以分为4大类: 1)those assume no special structure to the circuit under test; 2)t ...
- ios学习笔记(二)第一个应用程序--Hello World
原文地址:http://blog.csdn.net/shangyuan21/article/details/18416537 上一篇文章,Windows7上使用VMWare搭建iPhone开发环境介绍 ...
- IE已经被抛弃,但是不能遗忘
虽然IE的兼容问题,在我写这篇文章的时候基本已经被抛弃了,但是我觉得还是应该了解一下最基本的解决办法. 就像中国的历史已经过去,但是我们不能忘记一样的. 逐个版本解决法 .bb{ background ...
- 四则运算GUI版本功能展现
对于四则运算的GUI版本实现支持批量出题,由于我的不积极导致教师没找到对应的连接,现在重新补上链接 http://www.cnblogs.com/liquan/p/5978687.html codin ...
- python核心编程学习记录之Python对象
比较符号如<,>,=比较的是对象的值 如果要比较对象本身要用is,is not repr()的功能与''所做的事情是一样的 Python不支持的类型有char,byte,指针,short, ...