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解析html开发库pyquery使用方法
Feb 07 Python
Python使用pylab库实现画线功能的方法详解
Jun 08 Python
浅谈python中的数字类型与处理工具
Aug 02 Python
python图像常规操作
Nov 11 Python
Python网络爬虫中的同步与异步示例详解
Feb 03 Python
django2.0扩展用户字段示例
Feb 13 Python
python打包成so文件过程解析
Sep 28 Python
Python可变参数会自动填充前面的默认同名参数实例
Nov 18 Python
Python字节单位转换实例
Dec 05 Python
python路径的写法及目录的获取方式
Dec 26 Python
python跨文件使用全局变量的实现
Nov 17 Python
pytorch查看网络参数显存占用量等操作
May 12 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
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
php中最简单的字符串匹配算法
2014/12/16 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
修改Laravel5.3中的路由文件与路径
2016/08/10 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
JavaScript实现Java中StringBuffer的方法
2015/02/09 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
2016/05/27 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
详解redux异步操作实践
2018/08/15 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
2020/06/24 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
Python中给List添加元素的4种方法分享
2014/11/28 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
详解python使用turtle库来画一朵花
2019/03/21 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
python 已知三条边求三角形的角度案例
2020/04/12 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
冰淇淋开店创业计划书
2014/02/01 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
python爬虫--selenium模块
2021/03/31 Python
Nginx禁止ip访问或非法域名访问
2022/04/07 Servers