几天前, 我母上大人在我们家群里发了一条消息

一看这文案, 就知道又是一个骗流量的小游戏, 一看就让人没什么兴趣... 但是出于对我母上大人的尊(hào)重(qí)我还是点进来看了一下

游戏链接:

游戏规则十分简单, 按顺序从1点到50

在25或者之前, 点完的数字方块会变成一个25之后的, 比如1点完可能变成37, 然后2变成41这样子

... 然后Sushi就开始了疯狂刷分

难啊!

然而我怎么能被这种小游戏难倒, 怎么都得进30秒吧

一定是我不适应手机, 用电脑试试!

"正常人, 做正常事"... 我的智商仿佛受到了歧视! 不可以!

多次尝试之后我发现这个游戏在你点错的时候没有任何惩罚, 继续点下去就好了, 于是乎我就开始扇我手机耳光

结果是啥都按不到, 玩了10多秒还没按到3...

很快我就开始寻找能全面按到屏幕的物品, 一无所获

就在这时, 我灵光一闪

我可以用selenium整个屏幕点过去!

SELENIUM

selenium 是一个浏览器自动化(Web Browser Automation)的程式. 可以通过代码来对一个网页进行一些操作, 例如点击, 滑动等等

很快就发现这个想法非常可行, 但是很智障, 我既然都自动化了, 直接搜索特定的方块点击不也可以么? 开肝!

我其实花了好久好久才真的开始, 因为我手欠的把macOS更新到了Catalina, 然后anaconda和之前安装的库啥的都没了, 其中也包括了selenium, 我一直尝试修复, 最后还是没有逃过重装conda的命运

珍惜生命, 请勿升级

正文

要使用的工具有:Python 3.x (我使用的是anaconda 3.7)

Selenium

编辑器: Atom

00

最开始肯定是先导入库

没有安装selenium的请 pip install selenium

from selenium import webdriver

01

新建一个driver, 我选择Chrome, 如果提示driver版本不兼容的话, 就需要重新下载Chrome Driver, 链接: https://chromedriver.storage.googleapis.com/index.html

from selenium import webdriver

driver = webdriver.Chrome()

02

打开网站...

from selenium import webdriver

driver = webdriver.Chrome()

driver.get("http://wap.jue-huo.com/app/html/game/1to50/1to50.html")

03

循环, 从1到50, 这样之后我们就可以通过循环变量 i 来搜寻需要被点击的方块了

from selenium import webdriver

driver = webdriver.Chrome()

driver.get("http://wap.jue-huo.com/app/html/game/1to50/1to50.html")

for i in range(1, 51):

pass

04

这时候我们需要寻找对应的数字方块并且点击

打开网页, 我们能看到每个颜色方块的样子是

我其实对html不怎么了解, 但是大概能看出数字在div里面

div里面除了数字还有一个span

div有一个style, 值为"opacity: 1;"

span可以不用理会, 我们需要点击的内容可以用两个条件筛选出来, 分别是style是 "opacity: 1"

内容为 数字

这时候就会用到一个很高大上的东西叫做xpath

在xpath里面, 通过这两个条件筛选的语句是:

//*[@style=\"opacity: 1;\" and text() = '{}'] # {}里面是当前数字

这时候可以把xpath另存为一个字符串变量, 但是我懒, 直接搜索了:

for i in range(1, 51):

driver.find_element_by_xpath("//*[@style=\"opacity: 1;\" and text() = '{}']".format(i))

上面这个语句返回的是一个web element

而我们要做的事情就是点他

和xpath一样, 可以重新把element赋值给一个变量, 但是我省一下行数, 直接在最后加上.click()好了

for i in range(1, 51):

driver.find_element_by_xpath("//*[@style=\"opacity: 1;\" and text() = '{}']".format(i)).click()

05

最后一步, 你们可能发现每次点完他有一个动画需要加载, 新的方块才会出来, 运气不好的话你点完25的时候26还没出现, 所以需要等待

可以判断等i到了25之后等待, 不过我就直接没点一次都等待了, 这里用的是python的time.sleep, 不过好像大佬们都建议用driver的implicit wait

完整代码:

from selenium import webdriver

from time import sleep

driver = webdriver.Chrome()

driver.get("http://wap.jue-huo.com/app/html/game/1to50/1to50.html")

for i in range(1, 51):

driver.find_element_by_xpath("//*[@style=\"opacity: 1;\" and text() = '{}']".format(i)).click()

sleep(0.05) # removing this may make the program run faster, but the 26th div might not be loaded yet, which will make my code crash

结尾

代码特别简单, 到这里就结束了, 一个特别简单的脚本

同时也希望这个教程能帮助你们对selenium有一个简单的了解

好了我知道实际上代码不止5行, 但是import啥的不能算的嘛

python手机小游戏刷分器_如何用5行Python代码写出刷分游戏脚本!Python真牛!相关推荐

  1. python模拟别人说话的声音_如何用100行Python代码做出魔性声控游戏“八分音符酱”...

    最近几天,一款魔性的小游戏在微博上刷屏了,各大平台的主播也纷纷如感染病毒一样直播自己怎么玩这个游戏(被游戏玩). 这个游戏叫做<不要停!八分音符酱♪>.它是一款来自岛国的恶搞游戏,主角是一 ...

  2. html小游戏代码_厉害!84 行 JavaScript 代码实现塔式堆叠游戏

    作者 | 李雪敬出品 | 程序人生(coder_life) 塔式堆叠小游戏游戏玩法想必大家对这个小游戏都挺熟悉的.这个游戏的重点是把尽可能多的盒子叠在一起.当你点击屏幕时,位于上方正在移动的盒子会往下 ...

  3. python写出的程序如何给别人使用-涨姿势!这些小技巧让小白也可以写出更优雅的Python代码!...

    原标题:涨姿势!这些小技巧让小白也可以写出更优雅的Python代码! 一.前言 我前两天回答了两个Python相关的问题,收到了很多赞,从答案被收藏的情况来看,确实对不少人都很有帮助,所以我也很开心. ...

  4. 这是我第一次使用代码创建出一个窗口【python 游戏实战 01】

    前言 本系列文章将会以通俗易懂的对话方式进行教学,对话中将涵盖了新手在学习中的一般问题.此系列将会持续更新,包括别的语言以及实战都将使用对话的方式进行教学,基础编程语言教学适用于零基础小白,之后实战课 ...

  5. python怎么实现音乐快进_如何用PYTHON代码写出音乐【】

    如何制作MIDI(用于vocaloid 3) 我也是因为V家才来找midi的 如何用PYTHON代码写出音乐 在python-midi,每个乐谱用Pattern对象表示,乐的每个音轨(通常音乐很多轨道 ...

  6. Unity学习日志_七行核心代码实现第三人称游戏的相机逻辑

    七行核心代码实现第三人称游戏的相机逻辑: 使用到的一些知识: 欧拉角 虚拟轴 四元数计算 向量计算 代码实现: 其中RoundMovement方法为核心方法(): using UnityEngine; ...

  7. 教你写出可读性高的Python代码

    如果有人问起 Python 程序员他们最喜欢 Python 哪一点,他们一定会提到 Python 的高可读性.确实,对于 Python 来说,其高可读性一直是这门语言设计的核心.一个不争的事实是,相对 ...

  8. 用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

    活动地址:CSDN21天学习挑战赛 用代码写出浪漫合集(爱心.玫瑰花)       本文目录: ​一.前言 二.用python.matplotlib.Matlab.java绘制爱心 (1)爱心图形1( ...

  9. 华为文件Android可以删吗,原来华为手机里这些文件夹都可以删!删完立马多出几个G!真棒...

    原标题:原来华为手机里这些文件夹都可以删!删完立马多出几个G!真棒 大家是不是在自己的华为手机里看到很多文件夹啊?是不是每次看到这些文件夹都一头雾水啊?那今天小编就带大家了解一下华为手机里的文件夹,看 ...

最新文章

  1. 深度解析ASP.NET2.0中的Callback机制
  2. 爬虫必须学会的正则表达式
  3. 新一代Spring Web框架WebFlux!
  4. html5 渐变色矩形,使用HTML5画布元素的矩形渐变
  5. Avoided redundant navigation to current location
  6. Spring Ioc之初始化
  7. linux更换输入法_一日一Linux之一:CentOS 8.1 王者荣耀
  8. 中兴新支点操作系统_中兴发国产操作系统新支点,好不好用测了才知道
  9. 不同图像的噪声,选用什么滤波器去噪,图像处理的噪声和处理方法
  10. mantis apache mysql_apache+php+mysql搭建mantis
  11. 第四章 智能合约 [20]
  12. 在WPS表格里制作连接到openGauss的实时刷新报表
  13. 8.4 向量应用(二)——空间直线
  14. Socket心跳包机制总结
  15. 802.1X技术介绍
  16. 【畅购商城】用户注册以及整合JWT
  17. opencart 全货币支持代码
  18. 渐变过渡的相册(shader)
  19. 压力测试实战,压力测试步骤压力测试数据 (史上最全最详细教程)
  20. 在idea中使用ajax配置

热门文章

  1. c#工业自动化控制链接开发库
  2. php通用过滤,通用的PHP防注入漏洞攻击的过滤函数代码
  3. java医院门诊后台管理系统源码
  4. 《重新定义Spring Cloud实战》
  5. 多模态预训练模型学习
  6. oracle小鸡与合计,oracle 小鸡初始化配置(密码登录/防火墙/bbr)
  7. GB/T 21353漆膜抗藻性测定法
  8. 怎么判断台灯是否护眼?学生护眼灯推荐
  9. 【c语言】有人用温度计测量出用华氏法表示的温度(如64F),今要求把它转换为一摄氏法表示的温度(如17.8C)
  10. python第七章动手试一试_Python编程:从入门到实践的动手试一试答案(第七章)...