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
??????? sys.exit(-1)
??? try:
??????? pagenum = int(sys.argv[1])
??????? interval = float(sys.argv[2])
??? except ValueError:
??????? print 'Usage:python simu_read.py
??????? print '
??????? print '
??????? 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
??
以上就是本文分享的全部內容了,希望大家能夠喜歡。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
