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 paramiko实现ssh远程访问的方法
Dec 03 Python
Python中的ConfigParser模块使用详解
May 04 Python
简单实现python收发邮件功能
Jan 05 Python
关于pytorch多GPU训练实例与性能对比分析
Aug 19 Python
Python tkinter和exe打包的方法
Feb 05 Python
Python抓包程序mitmproxy安装和使用过程图解
Mar 02 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 Python
Python和Bash结合在一起的方法
Nov 13 Python
python 实时调取摄像头的示例代码
Nov 25 Python
python爬虫之爬取笔趣阁小说
Apr 22 Python
写好Python代码的几条重要技巧
May 21 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 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 file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
php array_intersect比array_diff快(附详细的使用说明)
2011/07/03 PHP
PHP中遇到BOM、编码导致json_decode函数无法解析问题
2014/07/02 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
php数组键名技巧小结
2015/02/17 PHP
PHP列出MySQL中所有数据库的方法
2015/03/12 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
php简单截取字符串代码示例
2016/10/19 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
Vue.js每天必学之数据双向绑定
2016/09/05 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
微信小程序实现图片翻转效果的实例代码
2019/09/20 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
python微信公众号开发简单流程实现
2020/03/09 Python
蔻驰法国官网:COACH法国
2018/11/14 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
工作目标责任书
2014/07/23 职场文书
实习证明模板
2015/06/16 职场文书
导游词之塘栖古镇
2019/12/04 职场文书
PyQt5 QThread倒计时功能的实现代码
2021/04/02 Python
python爬虫之爬取笔趣阁小说
2021/04/22 Python
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS