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 正则表达式 概述及常用字符
May 04 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
Jul 02 Python
Python实现Youku视频批量下载功能
Mar 14 Python
Python中元组,列表,字典的区别
May 21 Python
Python sqlite3事务处理方法实例分析
Jun 19 Python
如何优雅地改进Django中的模板碎片缓存详解
Jul 04 Python
Numpy之文件存取的示例代码
Aug 03 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
在django模板中实现超链接配置
Aug 21 Python
pyenv虚拟环境管理python多版本和软件库的方法
Dec 26 Python
python列表删除和多重循环退出原理详解
Mar 26 Python
Python利用机器学习算法实现垃圾邮件的识别
Jun 28 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
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
一些技巧性实用js代码小结
2009/10/14 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
2017/03/01 Javascript
JavaScript高阶函数_动力节点Java学院整理
2017/06/28 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
谈谈python中GUI的选择
2018/03/01 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
Python字典添加,删除,查询等相关操作方法详解
2020/02/07 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
世界最大的票务市场:viagogo
2017/02/16 全球购物
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
Ajxa常见问题都有哪些
2014/03/26 面试题
5s标语大全
2014/06/23 职场文书
作风建设年度心得体会
2014/10/29 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
介绍信的写法
2015/01/31 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
Redis keys命令的具体使用
2022/06/05 Redis