生活随笔
收集整理的這篇文章主要介紹了
新东方手机摄影大赛自动投票脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
朋友參加新東方手機攝影大賽,邀我去投票。打開投票頁面發現未設置登錄。刪除cookie后,可以重復投票。
那么我寫了個腳本,讓程序來自動刷票。
實現機制:
1 瀏覽器設置為每次關閉清除cookie
2 重復以下三步
- 使用python的webbrowser模塊打開鏈接
- 模擬鼠標點擊投票按鈕
- 殺死瀏覽器進程
import win32api,win32pdh,win32con
from ctypes
import *
import webbrowser
import time
def GetAllProcesses():object =
"Process" items,instances=win32pdh.EnumObjectItems(
None,
None,object, win32pdh.PERF_DETAIL_WIZARD)
return instances
def GetProcessID( name ): object =
"Process"items, instances = win32pdh.EnumObjectItems(
None,
None,object, win32pdh.PERF_DETAIL_WIZARD)val =
Noneif name
in instances :hq = win32pdh.OpenQuery()hcs = []item =
"ID Process"path = win32pdh.MakeCounterPath( (
None,object,name,
None,
0, item) )hcs.append(win32pdh.AddCounter(hq, path))win32pdh.CollectQueryData(hq)time.sleep(
0.01)win32pdh.CollectQueryData(hq)
for hc
in hcs:type, val = win32pdh.GetFormattedCounterValue(hc, win32pdh.PDH_FMT_LONG)win32pdh.RemoveCounter(hc)win32pdh.CloseQuery(hq)
return val
def Kill_Process_pid(pid) :
'''通過進程ID殺死進程'''handle = win32api.OpenProcess(win32con.PROCESS_TERMINATE,
0, pid) win32api.TerminateProcess(handle,
0) win32api.CloseHandle(handle)
def Kill_Process ( name ) :pid = GetProcessID (name)
print pid
if pid:
print "exist"Kill_Process_pid(pid)
else:
print "not this proccess"def MouseClick(x,y): windll.user32.SetCursorPos(x, y)time.sleep(
0.05)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y,
0,
0)time.sleep(
0.05)win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, x, y,
0,
0)
return Trueurl =
'http://huodong.koolearn.com/index/detailed/id/1657'n = input(
"希望程序執行次數:")
for i
in range(n):webbrowser.open(url)time.sleep(
8) MouseClick(
1356,
696) time.sleep(
2)MouseClick(
648,
493)GetAllProcesses()Kill_Process (
'SogouExplorer')
總結
以上是生活随笔為你收集整理的新东方手机摄影大赛自动投票脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。