爱江山更爱美人自动刷小号请安膜拜

Tedious is evil.

  • 前段时间迷上了这个游戏,一时疯狂练了太多小号,以至于现在被每天的请安膜拜压垮了。想到日后肯定不会再有那么多时间刷小号,就干脆写个自动化的脚本。
  • 首先要知道这游戏除了小程序外,还有网页版,在电脑上登录网页版,利用 selenium 即可实现账号切换。
  • 模拟登录的元素定位通过分析网页代码得知,如网页代码有更新,必须进行相应的更改。
  • 整个游戏的主体是一个用 egret 开发的h5,已经超出了我的能力范围,因此不考虑继续深入,选择在固定位置点击实现请安膜拜,具体按键的坐标通过pymouse得到。
  • 根据响应速度,每步的延迟在 1-5s 之间。
from selenium import webdriver
from pymouse import PyMouse
import time

driver=webdriver.Chrome()

driver.get('http://gamexd.fire2333.com/home/ac?action=/home/game/a/5100013/g/200125/pt/5100074')

m=PyMouse()
class Routine(object):
    """start routine of the game"""

    def __init__(self):
        self.username = current_account
        self.password = "thisispassword"

    def login(self):
        js = 'document.getElementById("menu-login").click()'
        driver.execute_script(js)

        time.sleep(1)

        js = 'document.getElementsByClassName("changeAccount")[0].click();'
        driver.execute_script(js)

        time.sleep(1)

        driver.find_element_by_class_name("phone").send_keys(self.username)
        driver.find_element_by_class_name("password").send_keys(self.password)

        time.sleep(1)

        js = 'document.getElementsByClassName("enter")[0].click();'
        driver.execute_script(js)

        time.sleep(5)
        m.click(951, 254)  # 关闭公告
        time.sleep(3)
        m.click(761, 666)  # 进入游戏
        time.sleep(8)

    def qingan(self):
        m.click(599, 234)  # 出宫
        time.sleep(2)
        m.click(862, 351)  # 中宫
        time.sleep(2)
        m.click(820, 406)  # 请安
        time.sleep(2)
        m.click(868, 354)  # 华贵妃
        time.sleep(2)
        m.click(786, 816)  # 请安
        time.sleep(2)
        m.click(594, 153)  # 返回中宫
        time.sleep(2)
        m.click(594, 153)  # 返回主界面
        time.sleep(2)

    def mobai(self):
        m.click(730, 820)  # 排行榜,第一个默认势力榜
        time.sleep(2)
        m.click(918, 810)  # 膜拜
        time.sleep(2)
        m.click(918, 810)  # 返回
        time.sleep(2)
        m.click(674, 198)  # 剧情榜
        time.sleep(2)
        m.click(918, 810)  # 膜拜
        time.sleep(2)
        m.click(918, 810)  # 返回
        time.sleep(2)
        m.click(748, 200)  # 随从榜
        time.sleep(2)
        m.click(918, 810)  # 膜拜
        time.sleep(2)
        m.click(918, 810)  # 返回
        time.sleep(2)
        m.click(807, 202)  # 亲密榜
        time.sleep(2)
        m.click(918, 810)  # 膜拜
        time.sleep(2)
        m.click(918, 810)  # 返回
        time.sleep(2)
        m.click(881, 195)  # 服装榜
        time.sleep(2)
        m.click(918, 810)  # 膜拜
        time.sleep(2)
        m.click(918, 810)  # 返回
        time.sleep(2)
        m.click(942, 196)  # 魅力榜
        time.sleep(2)
        m.click(918, 810)  # 膜拜
        time.sleep(2)
        m.click(918, 810)  # 返回

for i in range(10,90):
    print('usr%d'%i+' start')
    current_account='usr%d'%i
    current_routine=Routine()
    current_routine.login()
    current_routine.qingan()
    current_routine.mobai()
    print('usr%d'%i+' done')
  • 用pymouse获取坐标的方法
m=PyMouse()
a= m.position()
print(a)

猜你喜欢

转载自blog.csdn.net/Alleine/article/details/106761898