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表格转换成CSV文件的方法
Jun 28 Python
python实现冒泡排序算法的两种方法
Mar 10 Python
Python 读取指定文件夹下的所有图像方法
Apr 27 Python
Python 爬取携程所有机票的实例代码
Jun 11 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
Jul 12 Python
详解python里的命名规范
Jul 16 Python
python分块读取大数据,避免内存不足的方法
Dec 10 Python
Python os.access()用法实例
Feb 18 Python
django的ORM模型的实现原理
Mar 04 Python
django框架自定义模板标签(template tag)操作示例
Jun 24 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
Feb 20 Python
python异常中else的实例用法
Jun 15 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新手上路(八)
2006/10/09 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
JavaScript中的History历史对象
2008/01/16 Javascript
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
vue实现日历备忘录功能
2020/09/24 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
Python从MP3文件获取id3的方法
2015/06/15 Python
Python 音频生成器的实现示例
2019/12/24 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
基于PyTorch中view的用法说明
2021/03/03 Python
纯css3实现图片翻牌特效
2015/03/10 HTML / CSS
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
室内设计专业个人的自我评价
2013/12/18 职场文书
后备干部培训方案
2014/05/22 职场文书
网络技术专业求职信
2014/07/13 职场文书
学生会竞选演讲稿怎么写
2014/08/26 职场文书
单位法定代表人授权委托书
2014/09/20 职场文书
党员民主评议个人总结
2014/10/20 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技