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中分数的相关使用教程
Mar 30 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
Python 多进程并发操作中进程池Pool的实例
Nov 01 Python
python2与python3的print及字符串格式化小结
Nov 30 Python
在Django中URL正则表达式匹配的方法
Dec 20 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
Aug 05 Python
python爬虫 urllib模块反爬虫机制UA详解
Aug 20 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 Python
Python实现AES加密,解密的两种方法
Oct 03 Python
重构Python代码的六个实例
Nov 25 Python
Django-celery-beat动态添加周期性任务实现过程解析
Nov 26 Python
Python+Pillow+Pytesseract实现验证码识别
May 11 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
数字转英文
2006/12/06 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
IE8 原生JSON支持
2009/04/13 Javascript
两个比较有用的Javascript工具函数代码
2010/02/17 Javascript
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
window.onload使用指南
2015/09/13 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
jQuery实现的多张图无缝滚动效果【测试可用】
2016/09/12 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
Selenium控制浏览器常见操作示例
2018/08/13 Python
python中的json总结
2018/10/11 Python
Python正则表达式和元字符详解
2018/11/29 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
澳大利亚第一旅行车和房车配件店:Caravan RV Camping
2020/12/26 全球购物
大学生入党自我鉴定
2013/10/31 职场文书
安全生产检讨书
2014/01/21 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
歌唱比赛策划方案
2014/06/06 职场文书