自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 每日10行代码61:appium速度慢?直接点击坐标试一试

import osimport timeimport randomfrom appium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom appium.webdriver.extensions.android.nativekey import AndroidKeydesired_caps = { 'platformName': 'Android', # 被测手机是安卓 'devi

2020-10-25 16:06:42 1870 2

原创 每日10行代码60: 天猫双11自动撸猫得喵币

今年的双11又到了,其中有个游戏挺无脑,就是不断的点猫来获取喵币,我写了个程序帮助我自动撸猫。为了不被后台检测到,我对点击的速度和点击的位置做了一定的随机变动。也正因为加了这点随机性,所以程序看起来稍有些复杂。# 猫猫坐标544,1201import osimport timeimport randomimport redef click(position): shell = f"adb shell input tap {position[0]} {position[1]}"

2020-10-23 22:18:59 1322 5

原创 每日10行代码59:python+appium做淘金币的能量任务

今天花了点时间,用python实现淘金币的能量任务,只能做浏览任务,别的功能还不完善,等以后再完善吧,最近家里出了点事,可能会耽误更新。import osimport timeimport randomfrom appium import webdriverfrom appium.webdriver.extensions.android.nativekey import AndroidKeydesired_caps = { 'platformName': 'Android', # 被测

2020-10-21 22:39:56 547

原创 每日10行代码58,appium点击失效:一次低级失误——手机的长按跟点击效果不一样

今天在用appium测试时发现有一个点击老是不起作用。我用的代码是:driver.tap([(918,413)], 100) 代码是在网上找的教程,按理解是,tab,接受两个参数,一个是一系列坐标的列表,一个按键持续的时间。结果用这段代码死活点不到我要的点,开始我以为我语法或者坐标弄错了,最后发现都不是。实再找不到解决办法了,我拿起手机又按了一下那个按钮,结果发现长按和短按的效果是不一样的,短按有效,长按无效,所以原来我上面的代码原因出在时间延迟上。后来我修改代码为:driver.tap(

2020-10-21 22:31:39 487

原创 每日10行代码57: appium测试坚果手机出现socket hang up报错的解决

今天在用appium测试的时候,老是出现socket hang up的报错,在网上搜索了下,找到了答案,原来是手机的系统自动把appium需要的后台进程给优化掉了。解决办法也很简单,就是设置系统,不自动关闭这几个后台进程。具体为:appium settingsio.appium.uiautomator2.serverio.appium.uiautomator2.server.test坚果手机的设置位置:手机管理——省电优化——应用耗电优化——选中上面几个应用,把后面的开关给关掉。其他手机应该

2020-10-21 22:19:55 1563 1

原创 每日10行代码56:python+appium操作手机启动手机淘宝

代码运行的前置条件:电脑和手机配置好appium相关环境。安装appium server安装appium的python客户端包:appium-python-client安装jdk安装android sdkfrom appium import webdriverfrom appium.webdriver.extensions.android.nativekey import AndroidKeydesired_caps = { 'platformName': 'Android', #

2020-10-19 23:12:25 352

原创 每日10行代码55:编写高质量python代码的方法2——遵循PEP8风格指南

编写高质量python代码的方法2:遵循PEP8风格指南PEP8指《Python Enhancement Proposal #8》 (8号Python增强提案),它是针对Python代码格式而编订的风格指南。采用一致的风格来可以令代码更加易懂、更加易读。下面是书中列出的几条绝对应该遵守的规则:空白:Python中空白会影响代码的含义。Python程序员使用空白的时候尤其在意,因为它们还会影响代码的清晰程度。使用space(空格)来表示缩进,而不要用tab(制表符)。和语法相关的每一层缩进都用4个

2020-10-18 21:25:18 151

原创 我为什么不用vim了?

最早知道vim是看了善用佳软(http://blog.sina.com.cn/xbeta)的介绍,xbeta称vim是最好用的文本编辑器,我是十分信服xbeta的,所以在他的推荐下,尝试使用了gvim(windows下的vim版本),不过最终由于入门难度高而放弃了。在后续的工作生活中,我经常(但不是每天)会用到文本编辑器,所以一直想找一个简单好用的文本编辑器,期间我试过notepad++, notepad2, editplus, sublime, 都不太满足我的要求,最后在网上发现了一个国人自己开发的文本

2020-10-18 14:04:52 613

原创 每日10行代码54:编写高质量python代码方法1——确认自己所用的python版本

确定自己所有python版本的三种方法:直接在命令窗口里输入python用sys库输出>>> import sys>>> print(sys.version_info)sys.version_info(major=3, minor=6, micro=8, releaselevel='final', serial=0)在命令窗口输入python --version要点:有两个版本的python处理活跃状态,它们是:python2和python

2020-10-16 23:52:03 178

原创 每日10行代码53:编写高质量python代码方法5——了解切割序列(分片)的方法

今天继续看effective python第5章# 切片可以在list,str,bytes上进行切割,用法是 somelist[start:end] 其中start(起始索引)所指的元素涵盖在切割范围中,而end(结束索引)所指的元素不在切割范围中。a = ['a', 'b','c', 'd', 'e', 'f', 'g', 'h']print('First four:', a[:4])print('Last four:', a[-4:])print('Middle two:', a[3:-3]

2020-10-16 23:36:19 126

原创 每日10行代码52:编写高质量python代码方法4——用辅助函数来取代复杂的表达式

今天看了effective python第4条,有所启发。from urllib.parse import parse_qs# 要从url中解码查询字符串,在下例中,每个参数表示一个整数值:my_values = parse_qs('red=5&blue=0&green=',keep_blank_values=True)print(my_values)print(repr(my_values))print('Red: ',my_values.get('red'))prin

2020-10-15 23:55:18 234

原创 每日10行代码51:写复杂sql查询的一些经验

这两天又写了不少sql脚本,总结这些年写复杂查询的经验。由于我一般写一次性分析类脚本,下面经验也主要针对这种脚本。经验基于oracle.写查询要分清是经常使用还是一次性的分析使用,如果是长期使用要注意下效率,但如果是一次性分析使用,可以不那么在乎效率,怎么方便写怎么来,当然如果跑的太慢也还是要想办法优化的。如果有建表的权限,可以建立临时表来拆分复杂查询。这样不仅语句好写,执行速度也快,还便于调试,免得出现一个复杂查询跑几个小时,结果发现是错的,又要去调试。数据量大时,先用少量数据甚至单条数据来测试,

2020-10-14 23:29:53 598 1

原创 每日10行代码50: 用并行模式命令parallel提高oracle查询速度

语法:/*+parallel(table_short_name,cash_number)*/示例:参考:https://www.cnblogs.com/xingmeng/p/3303761.html

2020-10-14 10:03:50 935

原创 每日10行代码49:python模拟手机滑动浏览淘宝页面

淘金币里有做任务可以提高第二天领取金币比例的任务,里面大多任务是要求浏览指定页面10秒以上,所以我写了这个函数,模拟浏览手机页面10秒以上,滑动n次,总浏览时间10秒以上。# _*_ encoding:utf-8 _*_import osimport timeimport randomdef swip(times): shell = "adb shell input swipe 536 1519 543 1079 200" total_time = 0 for i in

2020-10-11 21:23:37 281

原创 每日10行代码48:翻倍投注模拟,以猜硬币为例证明翻倍投注是行不通的

现实中经常看到新闻,有人玩网上买私彩亏了很多钱,其中里面的“玩彩老师” 的常用一个套路就是不断的翻倍投注,比如猜硬币,我一直猜正面,如果不中就翻倍投,中了就继续按1倍来投。假如我第一次押1块钱,中了我赚1块,不中亏1块,如果第一次不中,我第二次就押2块,如果还不中,我第三次就押4块,依次类推。理论上如果钱足够多的话,这种玩法肯定是赚钱的。但是现实中哪有可能钱足够多。今天我用代码模拟了下用100块钱去玩这个游戏的结果。from random import *bet_rslt = Truebet_am

2020-10-10 23:11:05 1585

原创 每日10行代码47:python自动领取淘金币完整代码:基于坐标的模拟点击(2020年10月10日可用)

今天把领淘金币的代码写完了,目前可以适应不同的分辨率,原理是模拟手去点击,就相当于手机上运行个按键精灵。使用前提:电脑上配置好了adb工具。手机打开了开发者选项。安装了手机淘宝。手机淘宝是标准版,不是长辈版等其他版本。淘宝没有做活动,偶尔遇到活动时,淘金币的位置可能会变。# _*_ encoding:utf-8 _*_import osimport reimport timebase_sr = (1080, 2242)base_bn1 = (567, 489) # 淘金币按

2020-10-09 22:25:18 1116 1

原创 每日10行代码46:cv2.matchTemplate方法原理最简单解释:寻找相等或相似的子矩阵

今天研究了下matchTemplate方法,其实原理很简单,在opencv里,会把图片转成由象素点组成的数据,每一个象素点是一个颜色值,如果是rgb三通道的话,那么图像就是一个3维数组,也可以看作是3维矩阵。模板匹配通俗的说是图片查找,其实在底层就是矩阵查找,如果需要完全匹配呢就是找相等的子矩阵,如果是相似查找呢,就需要找最相似的矩阵,至于怎么确定是否相似这就需要不同的算法了,我也可以人为的定义一个相似度算法,比如我可以定义相同位置值相减差值之和定义位相似度。定义好相似度后,那么剩下的工作就是循环扫描矩

2020-10-08 23:37:11 1398 1

原创 每日10行代码45:python 获取手机分辨率

因为要学习操作手机,在点击坐标时会用到分辨率,所以写个函数来读取分辨率。# _*_ encoding:utf-8 _*_import osimport redef get_resolution(): p = os.popen("adb shell wm size") result = p.read() pat = r'\d+' resolution = re.findall(pat, result) s = tuple([int(i) for i in res

2020-10-07 22:32:29 352

原创 每日10行代码44:用python操作手机点击淘金币

大概需要的基础知识如下:找到当前程序的package和launch activityadb shell dumpsys window windows | findstr “Current”启动相应程序adb shell am start -n com.taobao.taobao/com.taobao.tao.TBMainActivity-n后面的参数就是前一步找到的结果点击坐标adb shell input tap 567 489python执行系统命令import os

2020-10-06 10:12:50 418

原创 每日10行代码43:基于分辨率的坐标转换

在手机测试时,可能会遇到需要直接点击的情况,这时候就需要用到坐标了,但是不同人的手机分辨率可能不一样,这时为了程序的通用性,就需要自动对坐标进行一些转换,下面是代码,其实只要最下面coop_cover函数就可以了。from fractions import Fractiondef num_to_percent(resolution, num_coor): return Fraction(num_coor[0], resolution[0]), Fraction(num_coor[1], re

2020-10-05 23:37:52 846 1

原创 每日10行代码42:cv.imread读取的图片颜色出错:imread读取数据颜色值不是常用的rgb,而是bgr

今天尝试使用open.cv,用经典的lenna图片来测试:import cv2 as cv# 读图片img = cv.imread('lenna.jpg')# 图片信息print('图片尺寸:', img.shape)print('图片数据为:\n', img)输出结果:图片尺寸: (2318, 1084, 3)图片数据为: [[[ 56 72 109] [ 57 73 110] ……用在线工具,看一下56,72,109是什么颜色https://www.sioe.cn

2020-10-04 17:04:48 1955 1

原创 每日10行代码41:jpg是有损压缩,要注意图片颜色的失真

今天在尝试open-cv的使用过程中,我用画出创建了一张5*5象素大小的红色纯色图片,分别保存成jpg和png,结果发现两张图片的颜色还不一样。import cv2 as cv# 读图片img = cv.imread('red.png')# 图片信息print('图片尺寸:', img.shape)print('图片数据为:\n',img)输出结果:图片尺寸: (5, 5, 3)图片数据为: [[[ 0 0 255] [ 0 0 255] ……当我换成jpg时,

2020-10-04 16:39:06 443

原创 每日10行代码40:opencv-模板匹配

今天还是在丈母娘家,丈母娘家里没电脑,依旧手抄代码,下面代码参考了别人的代码,待我回到家后,把谢谢代码重新跑一次。

2020-10-03 13:21:32 107

原创 每日10行代码39:opencv的初步使用

今天回老家了,家里没电脑,只能手写代码了,没想到传个照片搞半天,手机自带的照相机照的图片传上来方向不对,在手机里改了方向也不行,最后换了个照相软件才拍照成功。

2020-10-02 17:30:03 130

原创 每日10行代码38:appium初步使用:稳定性是个问题

今天尝试使用了下appium,使用的是白夜黑羽的教程。代码如下,功能是在B站上搜索手工耿,并把他的视频标题都打印出来。from appium import webdriverfrom appium.webdriver.extensions.android.nativekey import AndroidKeyimport timedesired_caps = { 'platformName': 'Android', # 被测手机是安卓 'platformVersion': '8', # 手

2020-10-01 10:51:27 687

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除