python实现模拟按键,自动翻页看u17漫画


Posted in Python onMarch 17, 2015

python
适用于windows平台
使用 win32gui,win32api,win32con 包

simu_read.py

#-*- coding=utf-8 -*-

'''

模拟按键翻页

Usage:python simu_read.py 10 1.5

10表示翻10页,1.5表示在一页中按pgdn的时间间隔为1.5s

一页pgdn 3 次,之后按→翻到下一页

把浏览器打开到u17要看的漫画中,之后启动该程序,再切回u17

便可以自动翻页看漫画了。

仅供娱乐,了解python模拟按键

'''

import win32gui,win32api,win32con

from ctypes import *

import time

import threading

import sys

''' # mouse click is not used here ,-> can replace it

def get_cursor_pos():

    x,y = win32gui.GetCursorPos()

    return (x,y)

def mouse_move(x,y):

    windll.user32.SetCursorPos(x, y)

def mouse_click(x=None,y=None):

    print 'mouse_click'

    if not x is None and not y is None:

        mouse_move(x,y)

        time.sleep(0.05)

        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

        time.sleep(0.05)

        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

def test_pos():

    for i in range(0,10):

        time.sleep(0.5)

        print get_cursor_pos()

'''

def key_up(key_num):

    win32api.keybd_event(key_num,0,0,0) 

    win32api.keybd_event(key_num,0,win32con.KEYEVENTF_KEYUP,0)

def init_dict():

    dict1 = {"PageDown":34,'RightArrow':39}

    return dict1

if __name__ == '__main__':

    if len(sys.argv) != 3:

        print 'Usage:python simu_read.py <pagenum> <interval>'

        sys.exit(-1)

    try:

        pagenum = int(sys.argv[1])

        interval = float(sys.argv[2])

    except ValueError:

        print 'Usage:python simu_read.py <pagenum> <interval>'

        print '<pagenum> should be the type of int'

        print '<interval> should be the type of float'

        sys.exit(-1)

    if pagenum < 0 or pagenum > 10000:

        print 'pagenum should be in the range [1,10000]'

        sys.exit(-1)

    if interval < 0.1 or interval > 60:

        print 'interval should be in the range [0.1,60]'

        sys.exit(-1)

    key_dict = init_dict()

    stsec = 2

    print 'start in '+str(stsec)+' seconds...'

    time.sleep(stsec)

    for i in range(0,pagenum):

        for j in range(0,3):#generally,the height of one page is not more than 3 screensize

            print 'PageDown'

            key_up(key_dict['PageDown'])

            time.sleep(interval)

        key_up(key_dict['RightArrow'])

        print 'Next page'

        time.sleep(interval+0.2)#delay

  

以上就是本文分享的全部内容了,希望大家能够喜欢。

Python 相关文章推荐
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
Aug 15 Python
python基于pyDes库实现des加密的方法
Apr 29 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 Python
Python实现多线程的两种方式分析
Aug 29 Python
python tkinter图形界面代码统计工具
Sep 18 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
Mar 19 Python
django实现更改数据库某个字段以及字段段内数据
Mar 31 Python
python手机号前7位归属地爬虫代码实例
Mar 31 Python
Python pytesseract验证码识别库用法解析
Jun 29 Python
Python可以用来做什么
Nov 23 Python
opencv实现图像几何变换
Mar 24 Python
python使用BeautifulSoup 解析HTML
Apr 24 Python
python通过pil为png图片填充上背景颜色的方法
Mar 17 #Python
python按照多个字符对字符串进行分割的方法
Mar 17 #Python
python通过floor函数舍弃小数位的方法
Mar 17 #Python
python常规方法实现数组的全排列
Mar 17 #Python
python标准算法实现数组全排列的方法
Mar 17 #Python
Python网页解析利器BeautifulSoup安装使用介绍
Mar 17 #Python
python回溯法实现数组全排列输出实例分析
Mar 17 #Python
You might like
Zerg基本策略
2020/03/14 星际争霸
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
谈谈关于php的优点与缺点
2013/04/11 PHP
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
对联广告js flash激活
2006/10/19 Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
2010/11/09 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
2015/03/14 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
Vue项目引发的「过滤器」使用教程
2019/03/12 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
python flask实现分页效果
2017/06/27 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
使用tensorflow实现线性回归
2018/09/08 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
2018/10/11 Python
详解Python locals()的陷阱
2019/03/26 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
总经理任命书范本
2014/06/05 职场文书
慰问信范文
2015/02/14 职场文书
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python