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操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
Python实现对百度云的文件上传(实例讲解)
Oct 21 Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 Python
python检索特定内容的文本文件实例
Jun 05 Python
python 定义给定初值或长度的list方法
Jun 23 Python
python并发和异步编程实例
Nov 15 Python
在Python中通过getattr获取对象引用的方法
Jan 21 Python
如何使用Python 打印各种三角形
Jun 28 Python
用python3 urllib破解有道翻译反爬虫机制详解
Aug 14 Python
Python3 文章标题关键字提取的例子
Aug 26 Python
Python小白学习爬虫常用请求报头
Jun 03 Python
解决Keras 中加入lambda层无法正常载入模型问题
Jun 16 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
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
基于jquery的分页控件(C#)
2011/01/06 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
关于JS管理作用域的问题
2013/04/10 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
2015/12/13 Javascript
Angular6封装http请求的步骤详解
2018/08/13 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
python实现树形打印目录结构
2018/03/29 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
python opencv将图片转为灰度图的方法示例
2019/07/31 Python
Python中顺序表原理与实现方法详解
2019/12/03 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
Joie官方网上商店:购买服装和女装配饰
2018/06/05 全球购物
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
你常见到的runtime exception
2016/09/05 面试题
办公室保洁员岗位职责
2013/12/02 职场文书
单位消防安全制度
2014/01/12 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
化工工艺设计求职信
2014/06/25 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python