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中让MySQL查询结果返回字典类型的方法
Aug 22 Python
Python+MongoDB自增键值的简单实现
Nov 04 Python
python生成圆形图片的方法
Mar 25 Python
django 多数据库配置教程
May 30 Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
Aug 28 Python
python小项目之五子棋游戏
Dec 26 Python
pytorch自定义二值化网络层方式
Jan 07 Python
pytorch查看模型weight与grad方式
Jun 24 Python
Django基于Models定制Admin后台实现过程解析
Nov 11 Python
python实现A*寻路算法
Jun 13 Python
使用python生成大量数据写入es数据库并查询操作(2)
Sep 23 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 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
2010/03/23 PHP
PHP+ACCESS 文章管理程序代码
2010/06/21 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
2012/04/09 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
深入理解PHP JSON数组与对象
2016/07/19 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
2015/11/25 Javascript
基于Vuejs实现购物车功能
2016/08/02 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
Python字符串详细介绍
2015/05/09 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
Python中关于浮点数的冷知识
2019/09/22 Python
pytorch torch.expand和torch.repeat的区别详解
2019/11/05 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
2020/02/29 Python
Python多线程thread及模块使用实例
2020/04/28 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
2020/05/22 Python
详解python中的异常和文件读写
2021/01/03 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
美国最大的宠物药店:1-800-PetMeds
2016/10/02 全球购物
阿迪达斯芬兰官方网站:adidas芬兰
2017/01/30 全球购物
销售会计工作职责
2013/12/02 职场文书
业务员岗位职责范本
2013/12/15 职场文书
师德师风自查材料
2014/10/14 职场文书
详解MySQL连接挂死的原因
2021/05/18 MySQL
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript