背景:

Dnf的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励

目标:连续四天自动运行脚本,自动领取所有奖励,每天领取一个

进度:当前未知登陆后是否还有选择区服弹窗,故当前仅处理到成功点击为止

思路:

python+selenium自动化点击,程序定时运行

实现方法:timer_exerice.py编写死循环定时器,30s判断一次是否到达相应时间,若到达时间,开始执行selenium_exerice.py,自动打开网页,登录账号,点击领取按钮

代码:

编写定时器。每日调整next_time即可

调用os模块是为了执行selenium_exerice.py,这方法比较简单粗暴

importdatetimeimportosimporttimedeftime_timer(now_time):

next_time= datetime.datetime.strptime("2019-6-21 15:17:00", "%Y-%m-%d %H:%M:%S")

timer_start_time= (next_time -now_time).total_seconds()returntimer_start_timedeftime_main():whileTrue:

now_time=datetime.datetime.now()

d=time_timer(now_time)if d >0:print("距离目标时间还有%s秒" %(int(d)))

time.sleep(30)else:print("开始执行")

os.system(r"python D:\\Pyexerice\\selenium_exerice2.py")break

if __name__ == "__main__":

time_main()

编写自动登录点击代码

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

import time

import unittest,time

class Dnf_login(unittest.TestCase):

def setUp(self):

self.driver = webdriver.Chrome(r"C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")

self.driver.implicitly_wait(30)

self.base_url = "https://dnf.qq.com/cp/a20190618login/?e_code=479698&idataid=266454"

self.verificationErrors = []

self.accept_next_alert = True

print("正在访问Dnf11周年庆活动界面")

def test_dnf_login(self):

driver=self.driver

driver.maximize_window()

driver.get(self.base_url)

login_Hierarchy1=driver.find_element_by_id("unlogin")

login_Hierarchy2=login_Hierarchy1.find_element_by_id("btn_qqlogin")

driver.execute_script("arguments[0].click();",login_Hierarchy2)

time.sleep(5)

#授权登录界面点击账号密码登录

driver.switch_to.frame("loginIframe")

driver.find_element_by_id("switcher_plogin").click()

driver.find_element_by_id("u").clear()

driver.find_element_by_id("u").send_keys("username")

driver.find_element_by_id("p").clear()

driver.find_element_by_id("p").send_keys("password")

driver.find_element_by_id("p").send_keys(Keys.ENTER)

print("登录成功")

time.sleep(5)

# 点击领取按钮

# 按层查找按钮所在位置,处理点击

draw_Hierarchy1 = driver.find_element_by_class_name("dan-con")

draw_Hierarchy2 = draw_Hierarchy1.find_element_by_id("lotteryBtn1")

driver.execute_script("arguments[0].click();", draw_Hierarchy2)

print("点击成功")

time.sleep(5)

def tearDown(self):

self.driver.quit()

self.assertEqual([], self.verificationErrors)

print("已关闭游览器")

if __name__ == "__main__":

unittest.main()

采坑过程

1.Selenium中单击Element:ElementClickInterceptedException报错

如上图所示,最一开始的时候我的写法是

login_Hierarchy1=driver.find_element_by_id("unlogin")

login_Hierarchy2=login_Hierarchy1.find_element_by_id("btn_qqlogin").click()

然后报错信息如标题,不会处理找百度,参考

修改代码后可以成功点击登录按钮

2.登录授权界面switch_to.frame()

和1一样,一开始直接定位报错,百度查资料发现登录按钮在iframe上,

所以switch_to.frame()切换,定位成功

因为还没开放领取,不知道后面是不是还有填写区服的界面,所以暂时没有处理后续,仅到执行完点击后关闭界面,执行结果如下

dnf自动刷图python脚本_python+selenium自动化登录dnf11周年活动界面领取奖励登录部分采坑总结[1]...相关推荐

  1. java dnf 自动打怪,按键精灵 做DNF 自动刷图辅助

    请高手 帮我用按键精灵 玩DNF 自动刷图 自己动分解装备 设计我给加高分 发我邮箱 :[email protected] 网友说:楼主你好: 建议不要使用第三方或者是具有第三方性质的辅助,因为这种辅 ...

  2. 易语言dnf自动刷图教程

    易语言dnf自动刷图教程 课程地址:百度爱内涵论坛 1.改图效果展示 2.Ex软件的安装与设置 3.改图的操作方法 4.改普通怪和BOSS 5.改副本门 6.改障碍物 7.改可破坏物 8.改背景图 9 ...

  3. FME+YOLOV7写DNF自动刷图脚本

    目录 前言 一.难点分析 二.实现流程 1.DNF窗口位置获取 2.获取训练数据 3.数据标注 4.数据格式转换 5.数据训练 5.刷图逻辑编写 前言 这是一篇不务正业的研究,首先说明,这不是外挂!这 ...

  4. python自动刷快手视频脚本_python自动刷快手视频_快手加抖音自动刷视频脚本,引用的是python+易语言编程......

    其实这个代码我这边已经整合好了,已有易语言版!!! 下面分享的仅仅只是"python"代码 先看下易语言版的界面: "python"代码 import os i ...

  5. python实现阴阳师自动刷御魂脚本_Python实现阴阳师电脑端自动组队刷御魂

    Python实现阴阳师电脑端自动组队刷御魂 1 开发环境搭建 Python3.7安装下载地址: https://www.python.org/ftp/python/3.7.0/python-3.7.0 ...

  6. 自动打卡python脚本_python实现腾讯文档自动打卡教程

    ​明明365天都不得不待在家里面,居然还要天天去腾讯文档打卡,烦死人了. 天天都填一样的内容,重复无意义的事情,时间就是金钱,浪费人时间约等于谋财害命呀. 所以参考了网络上的代码,并做了改进,用pyt ...

  7. python 自动点击网页上按钮_python selenium自动化(一)点击页面链接测试

    需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回到原始页面. 要完成这个需求就必须实现3点: 1. 找 ...

  8. python自动化流程概念_python selenium 自动化流程的一些总结与思考

    首先要考虑的项目为什么要做自动化测试?(主要从自动化测试的优点着手) 其次是什么项目才适合做自动化测试? 自动化测试覆盖率要达到什么样的程度?因为都知道不可能达到100%的,不然脚本太臃肿,反而会失去 ...

  9. java怎么写dnf辅助_易语言地下城与勇士辅助自动刷图类源码

    DNF辅助自动刷图类 仅供学习参考,禁止商业用途 .版本 2 .支持库 EThread .支持库 spec .程序集 自动 .子程序 自动刷图 .判断开始 (全局_总开关.自动刷图开关 = 假) 全局 ...

最新文章

  1. 计算机运用领域最高奖的是2016年,中国首获高性能计算应用领域最高奖
  2. linux内核杂记(3)-进程(1)
  3. jsp连接mysql数据库代码_JSP连接MySQL数据库代码
  4. pursuit of happiness
  5. 计算机数据库系统考研复试面试题,2016年山西财经大学081203计算机应用技术871数据库系统概论复试笔试最后押题五套卷...
  6. python人工智能github的一些跑程序技巧(持续更新~)
  7. onclick 如何传数据_云主机文件传输神器:免占公网带宽,文件极速秒传
  8. 实对称矩阵的特征值一定为实数证明
  9. 老化测试相关知识点介绍
  10. MATLAB安装摄像头插件
  11. 搜狗主动推送python脚本(自动登录免验证码)
  12. flask web开发 Set it to True to suppress this warning问题
  13. Matlab plotyy画双纵坐标图实例
  14. 浏览器如何在f12中查看接口地址_经过浏览器中的F12中来查看接口的入参、出参和网页响应时间(新手教程)...
  15. 一次Python爬虫实战,解决反爬问题!
  16. 靓号,java正则表达式的实现
  17. 记一次线上启动war包 StackOverflowError
  18. 16.安全整改.part3
  19. 让java程序在后台一直执行
  20. 【Windows10】电脑副屏无法调节屏幕亮度?解决方法

热门文章

  1. 关于OSError: [WinError 10038] 在一个非套接字上尝试了一个操作。
  2. 解密:天猫双十一1682亿背后的“霸下-七层流量清洗”系统
  3. input样式去掉苹果手机的默认样式
  4. ERROR 1044 (42000): Access denied for user ”@’localhost’ to database ‘mysql’
  5. 日历软件使用教程:以 Outlook 日历、谷歌日历、苹果日历为例
  6. 【超干】用户画像产品化涵盖的功能模块以及应用场景
  7. 为什么有些公司团队特别稳定,有些公司团队动荡不安?
  8. 【安全-安全检查】操作系统日志分析(Linux+Windows)
  9. JS压缩方法(使用uglify工具在本地压缩)及批量压缩
  10. Android播放gif动画,增加屏幕掉金币效果