背景:

Dnf的周年庆活动之一,鬼才策划为了在线率想的活动,规律如下

1.在线1分钟可以生成1根竹子,领取竹子以后可以获取到积分,积分满足活动要求后可以领取相应档位的奖励

2.玩家不在线期间,不会生成新竹子(最坑的一点)

3.竹子的存储上限为20,也就是说20分钟就要收割一次

为了最快领取到奖励,只好出个下策,自动化领竹子,晚上挂通宵,写文章的这会已经完成指标....

思路

运用python中的pyautogui模块控制鼠标自动打开活动界面,点击领取,关闭界面,为了方便写了死循环,所以需要利用cmd打开py脚本,需要结束运行脚本时ctrl+c停止运行即可

优势:在不移动游戏界面的情况下游戏内窗口控件所处的相对位置不会改变,利用pyautogui模块点击相应坐标即可实现自动化

劣势:游戏断线重连,直接扑街·。

难处:游戏在12点会弹出公告界面,若不处理公告界面,养竹活动的界面层级并没有公告界面高,脚本会被遮挡,无法运行

解决方案:定时执行关闭公告界面的脚本,执行完毕后继续执行挂机领竹脚本

代码:

获取鼠标当前位置信息,代码如下

import pyautogui
print(pyautogui.position())

使用cmd运行上述脚本,在运行前将鼠标移动到需要定位的坐标,然后直接回车,会打印当前的鼠标坐标

领取代码如下

import datetime
import pyautogui
import time
import random def time_timer(now_time):
next_time = datetime.datetime.strptime("2019-6-21 0:00:00", "%Y-%m-%d %H:%M:%S")
timer_start_time = (next_time - now_time).total_seconds()
return timer_start_time def pyautogui_dnf(now_time):
#主体:打开养竹活动界面,领取竹子,退出界面
print("开始执行,当前系统时间: %s" % now_time)
#坐标1:点击竹子的小图标
pyautogui.click(1025, 855)
pyautogui.mouseDown()
pyautogui.mouseUp()
time.sleep(5)
# 坐标2:点击领取按钮
pyautogui.click(1034, 723)
pyautogui.mouseDown()
pyautogui.mouseUp()
# 坐标3:点击关闭按钮关闭活动界面
pyautogui.click(1320, 248)
pyautogui.mouseDown()
pyautogui.mouseUp()
c = random.randint(600,1200)
print("执行完毕,开始休眠,%s"%(datetime.timedelta(seconds=c)))
time.sleep(c) def tomrrow_Refresh(now_time):
#点击公告下的确定按钮
pyautogui.click(944, 713)
pyautogui.mouseDown()
pyautogui.mouseUp()
print("已关闭公告,继续执行")
time.sleep(5)
#死循环继续执行领竹子的脚本
while True:
pyautogui_dnf(now_time) def main_pyauto():
while True:
now_time = datetime.datetime.now()
d = time_timer(now_time)
if d > 0:
print("距离公告弹窗时间还有%s秒" % (int(d)))
pyautogui_dnf(now_time)
else:
print("关闭公告")
tomrrow_Refresh(now_time) if __name__ == "__main__":
main_pyauto()

之所以使用随机数,是因为如果20分钟点一下太稳定,我怕被封号....

总之,两天领完了所有奖励,可喜可贺....吧

利用pyautogui自动化领取dnf的在线养竹活动的竹子的更多相关文章

  1. 利用JavaFx开发RIA桌面应用-在线资料

    转载请注明来源-作者@loongshawn:http://blog.csdn.net/loongshawn/article/details/52805751 1.前言 虽说java已经不是主流的桌面应 ...

  2. 利用 Ansiable 自动化部署 Veeam Backup & Replication 9.5U4b

    利用 Ansiable 自动化部署 Veeam Backup & Replication 9.5U4b 前言 上周出差期间接到一个做CMP(云管平台)Partner的需求,要在无人值守的安装 ...

  3. 利用Selenium自动化web测试

    简介: Selenium 是一个没有正式指导手册的开源项目,这让测试人员的问题调查很费时间.本文为基于 Selenium 1.0(发布于 2009 年 6 月)的测试期间的常见问题提供最佳实践. 简介 ...

  4. 利用mtd工具实现嵌入式设备在线升级

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   主要思路是:通过web post方式将升级文件交给CGI程序处理,然后通过mtd工具实现设备在线升级. 1.页面部分 & ...

  5. spring boot利用swagger和spring doc生成在线和离线文档

    参考博客地址: 在线文档:http://blog.didispace.com/springbootswagger2/ 离线文档:http://www.jianshu.com/p/af7a6f29bf4 ...

  6. 利用fis3自动化处理asp.net项目静态资源时遇到的一个编码问题

    fis3是一款强大的前端自动化构建工具,提供了很多非常实用的功能,具体参考http://fis.baidu.com/,使用该工具需要安装node环境. 最近在部署网站的时候尝试了一下使用该工具对前端资 ...

  7. 利用selenium自动化登录淘宝

    #encoding=utf-8 from selenium import webdriver from selenium.webdriver.common.action_chains import A ...

  8. selenuim自动化爬取汽车在线谷米爱车网车辆GPS数据爬虫

    #为了实时获取车辆信息,以及为了后面进行行使轨迹绘图,写了一个基于selelnium的爬虫爬取了车辆gps数据. #在这里发现selenium可以很好的实现网页解析和处理js处理 #导包 import ...

  9. Headless MSBuild Support for SSDT (*.sqlproj) Projects [利用msbuild自动化部署 .sqlproj]- 摘自网络

    Update: breaking change: http://sqlproj.com/index.php/2012/10/dacfx-sept-2012-updates-break-headless ...

随机推荐

  1. In-App Purchase Programming Guide----(二) ---- Designing Your App’s Products

    Designing Your App’s Products A product is something you want to sell in your app’s store. You creat ...

  2. Programming With Objective-C---- Encapsulating Data ---- Objective-C 学习(三) 封装数据

      Programming with Objective-C Encapsulating Data In addition to the messaging behavior covered in t ...

  3. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 13. 安装前端库

    前端库使用npm进行安装,需要先建立webpack.json文件 因为我们没有使用npm安装任何库,所以npm的文件夹是空的 这里是用于开发时构建时引用的库写在这里 这里用到bootStrap 开发时 ...

  4. ccflow汇总帖

    视频教程学习 公司电脑路径; E:\开源工作流\ccflow佳怡物流版\ccflow\doc cclfow的码云地址: https://gitee.com/opencc/ccflow 在线demo演示 ...

  5. E20170512-hm

    implicit  adj. 不言明[含蓄]的; 无疑问的, conversion  n. 变换,转变; precision n. 精确度,  adj. 精确的, with precision 准确地 ...

  6. git自动化部署+rsync文件同步

    1.进入线上git裸仓库 2.编辑post-receive #!/bin/sh unset GIT_DIR cd /var/www/ git pull http://web:xxxxxxx@120.3 ...

  7. jQuery笔记之位置图形

    位置图形: 位置坐标图形大小相关方法: .offset() .position() .scrollTop()..scrollLeft() .width().height() .innerWidth() ...

  8. USB转串口 FT232/PL2303芯片使用体会

    现在笔记本上很少带有串口了,而串口又是做电子设计必备的通讯接口之一,好在USB转串口比较方便,市面上常用的USB转串口芯片有很多,最常见的有FT232.PL2303.CH340三种 原理:单片机的TX ...

  9. Apache-kylin-2.0.0-bin-hbase1x.tar.gz的下载与安装(图文详解)

    首先,对于Apache Kylin的安装,我有话要说. 由于Apache Kylin本身只是一个Server,所以安装部署还是比较简单的.但是它的前提要求是Hadoop.Hive.HBase必须已经安 ...

  10. Apache Kylin 是什么?

    Apache Kylin的官网 http://kylin.apache.org/cn/ - 可扩展超快OLAP引擎:  Kylin是为减少在Hadoop上百亿规模数据查询延迟而设计 - Hadoop ...