用Python腳本做一些網頁游戲中力所能及的自動化任務


下面是一段自動登錄360傳奇霸業游戲的腳本:

from pymouse import PyMouse
import time
import webbrowser
from pykeyboard import PyKeyboard

url = "http://cqby.wan.360.cn/game_login.php?server_id=S577&&src=loginhistory"
webbrowser.open_new_tab(url)
m = PyMouse()
k = PyKeyboard()
m.move(638, 620)
time.sleep(10)
m.click(638, 620)
time.sleep(2)
k.type_string("pwd")
time.sleep(1)
m.move(591, 480)
m.click(591, 480)

這里用到了鼠標點擊和鍵盤輸入,需要分別安裝PyMousePyUserInput,安裝好之后,就可以實現鼠標的點擊和鍵盤的輸入操作了。關於PyUserInput的官方文檔點這里觀看

鼠標的點擊是依靠坐標來定位的,所以我們還需要一個腳本用來獲取屏幕上的位置信息。通過在網上搜索,找到了如下腳本(這里我把相應的參數修改了一下,以適應本機的屏幕大小):

import Tkinter


class Tkwin:
    def __init__(self, root):
        self.root = root
        self.frame = Tkinter.Frame(root, bd=2)
        self.edit = Tkinter.Text(self.frame, width=1280, height=1300)
        self.edit.pack(side=Tkinter.LEFT)
        self.frame.place(y=0)
        self.edit.bind('<Button-1>', self.action)

    def action(self, event):
        self.edit.insert(Tkinter.END, "Window_location x:%d y:%d\n" % (event.x, event.y))
        self.edit.insert(Tkinter.END, "Screen_location x:%d y:%d\n" % (event.x_root, event.y_root))


root = Tkinter.Tk();
window = Tkwin(root)
root.minsize(1280, 800)
root.maxsize(1280, 800)
root.mainloop()

運行這個腳本就可以通過點擊鼠標的方式來獲取屏幕上相應的位置信息了(在終端里找到腳本並運行):

OK,這樣就可以確定傳奇霸業頁游上按鈕的位置並輸入我們想輸入的信息了。在終端運行我們寫好的自動登陸腳本,就實現了傳奇霸業的自動登錄:

關於上面這個東西是怎么錄制的,百度搜索LICEcap,下載安裝后打開就可以開始錄制屏幕上進行的操作了。

最后即興賦詞一首《林子聰·再見》:

一入傳坑深似海,不知怎進此中來。若能回到半年前,網頁彈窗、游戲廣告,一律不點開。要怪都怪林子聰,一直游戲到現在。

已經快有小一年,充值接近五千塊。然並卵,上不能搶boss,下不能虐菜。真是不想再玩下去,投了太多又不舍離開。唉,無奈。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM