生活随笔
收集整理的这篇文章主要介绍了
新东方手机摄影大赛自动投票脚本
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
朋友参加新东方手机摄影大赛,邀我去投票。打开投票页面发现未设置登录。删除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')
总结
以上是生活随笔为你收集整理的新东方手机摄影大赛自动投票脚本的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。