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中的25个隐藏特性
Mar 30 Python
Python之Web框架Django项目搭建全过程
May 02 Python
python如何查看微信消息撤回
Nov 27 Python
python 提取key 为中文的json 串方法
Dec 31 Python
Python利用神经网络解决非线性回归问题实例详解
Jul 19 Python
Python实现二叉搜索树BST的方法示例
Jul 30 Python
python实现猜数字游戏
Mar 25 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 Python
python虚拟环境模块venv使用及示例
Mar 04 Python
基于python实现破解滑动验证码过程解析
May 28 Python
python rolling regression. 使用 Python 实现滚动回归操作
Jun 08 Python
python 6种方法实现单例模式
Dec 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
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
javascript中几个容易混淆的概念总结
2015/04/14 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
Javascript学习之谈谈JS的全局变量跟局部变量(推荐)
2016/08/28 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
使用python开发vim插件及心得分享
2014/11/04 Python
python下载文件时显示下载进度的方法
2015/04/02 Python
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
Python字符串大小写转换拼接删除空白
2019/09/19 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
银行实习人员自我鉴定
2013/09/22 职场文书
大三自我鉴定范文
2013/10/05 职场文书
应届生煤化工求职信
2013/10/21 职场文书
办公室文书岗位职责
2013/12/16 职场文书
优秀教研组申报材料
2014/12/26 职场文书
学生党员检讨书范文
2014/12/27 职场文书
听课评课活动心得体会
2016/01/15 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书