python实现模拟按键,自动翻页看u17漫画
python
适用于windows平台
使用win32gui,win32api,win32con包
simu_read.py
#-*-coding=utf-8-*-
'''
模拟按键翻页
Usage:pythonsimu_read.py101.5
10表示翻10页,1.5表示在一页中按pgdn的时间间隔为1.5s
一页pgdn3次,之后按→翻到下一页
把浏览器打开到u17要看的漫画中,之后启动该程序,再切回u17
便可以自动翻页看漫画了。
仅供娱乐,了解python模拟按键
'''
importwin32gui,win32api,win32con
fromctypesimport*
importtime
importthreading
importsys
'''#mouseclickisnotusedhere,->canreplaceit
defget_cursor_pos():
x,y=win32gui.GetCursorPos()
return(x,y)
defmouse_move(x,y):
windll.user32.SetCursorPos(x,y)
defmouse_click(x=None,y=None):
print'mouse_click'
ifnotxisNoneandnotyisNone:
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)
deftest_pos():
foriinrange(0,10):
time.sleep(0.5)
printget_cursor_pos()
'''
defkey_up(key_num):
win32api.keybd_event(key_num,0,0,0)
win32api.keybd_event(key_num,0,win32con.KEYEVENTF_KEYUP,0)
definit_dict():
dict1={"PageDown":34,'RightArrow':39}
returndict1
if__name__=='__main__':
iflen(sys.argv)!=3:
print'Usage:pythonsimu_read.py<pagenum><interval>'
sys.exit(-1)
try:
pagenum=int(sys.argv[1])
interval=float(sys.argv[2])
exceptValueError:
print'Usage:pythonsimu_read.py<pagenum><interval>'
print'<pagenum>shouldbethetypeofint'
print'<interval>shouldbethetypeoffloat'
sys.exit(-1)
ifpagenum<0orpagenum>10000:
print'pagenumshouldbeintherange[1,10000]'
sys.exit(-1)
ifinterval<0.1orinterval>60:
print'intervalshouldbeintherange[0.1,60]'
sys.exit(-1)
key_dict=init_dict()
stsec=2
print'startin'+str(stsec)+'seconds...'
time.sleep(stsec)
foriinrange(0,pagenum):
forjinrange(0,3):#generally,theheightofonepageisnotmorethan3screensize
print'PageDown'
key_up(key_dict['PageDown'])
time.sleep(interval)
key_up(key_dict['RightArrow'])
print'Nextpage'
time.sleep(interval+0.2)#delay
以上就是本文分享的全部内容了,希望大家能够喜欢。