清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#-*- 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