本文性别判断主要依靠airtest中的自动化测试实现

通过自动对比支付宝页面男女图像,从而实现男女判断

代码如下:

男女判断函数:

// An highlighted block

def numbe():

if exists(Template(r"tpl1574867500094.png", threshold=0.85, rgb=True, target_pos=0, record_pos=(0.779, 0.382), resolution=(960, 540))):

sex = "女"

if exists(Template(r"tpl1574924960910.png", threshold=0.89, rgb=True, target_pos=5, record_pos=(0.779, 0.382), resolution=(960, 540))):

sex = "男"

else:

sex = "不存在"

namesex = sex

keyevent("4")

return namesex

手机滑动(根据手机分辨率自行调整):

// An highlighted block

def scoll():

try:

swipe(v1=(629, 1750),v2=(629, 310)) #  滑动距离需要根据手机分辨率自行调整

except:

print("can't go back to the main page")

刷选函数:

// An highlighted block

def number():

data_list =[]

for i in range(9): #  根据手机分辨率自行调整

try:

title =poco(name="com.alipay.mobile.contactsapp:id/contact_item_name")[i].get_text()

name =  poco(name="com.alipay.mobile.contactsapp:id/concast_from")[i].get_text()

print(title)

name_a =name[5:6]

if title not in data_list and name_a is not "1":

poco("com.alipay.mobile.contactsapp:id/contact_item_name")[i].click()

sexname=numbe()

if sexname =="男":

print(str(sexname))

else:

print(str(sexname))

else:

print(name_a)

print("不存在")

except:

print("出错,跳过!")

综合:

// An highlighted block

# -*- encoding=utf8 -*-

__author__ = "liuqingsong"

def numbe():

if exists(Template(r"tpl1574867500094.png", threshold=0.85, rgb=True, target_pos=0, record_pos=(0.779, 0.382), resolution=(960, 540))):

sex = "女"

if exists(Template(r"tpl1574924960910.png", threshold=0.89, rgb=True, target_pos=5, record_pos=(0.779, 0.382), resolution=(960, 540))):

sex = "男"

else:

sex = "不存在"

namesex = sex

keyevent("4")

return namesex

def scoll():

try:

swipe(v1=(629, 1750),v2=(629, 310)) #  滑动距离需要根据手机分辨率自行调整

except:

print("can't go back to the main page")

def number():

data_list =[]

for i in range(9): #  根据外汇返佣率自行调整

try:

title =poco(name="com.alipay.mobile.contactsapp:id/contact_item_name")[i].get_text()

name =  poco(name="com.alipay.mobile.contactsapp:id/concast_from")[i].get_text()

print(title)

name_a =name[5:6]

if title not in data_list and name_a is not "1":

poco("com.alipay.mobile.contactsapp:id/contact_item_name")[i].click()

sexname=numbe()

if sexname =="男":

print(str(sexname))

with open(r'./new/男.csv','a',encoding='utf-8') as f:

f.write("{},{}\n".format(title,sexname))

else:

print(str(sexname))

with open(r'./new/女.csv','a',encoding='utf-8') as f:

f.write("{},{}\n".format(title,sexname))

else:

print(name_a)

print("不存在")

except:

print("出错,跳过!")

a=0

while a<5:#根据手机上号码量的多少自行选择

number()

scoll()

sleep(1)

a=a+1

原文链接:https://blog.csdn.net/qq_15687823/article/details/103645268

Python实现手机号自动判断性别的更多相关文章

  1. python基础3 条件判断 if嵌套

    if单向判断: stonenumber=6#为宝石数量赋值 if stonenumber>=6: #条件:如果你拥有的宝石数量大于等于6个 print('你拥有了毁灭宇宙的力量') #结果:显示 ...

  2. Python实现12306自动查票程序

    这是在网上扒拉过来的,原文链接: http://blog.csdn.net/An_Feng_z/article/details/78631290 目前时间2018/01/04 文中各种接口均为可用,亲 ...

  3. 基于esky实现python应用的自动升级

    一.esky介绍 Esky is an auto-update framework for frozen Python applications. It provides a simple API t ...

  4. 3. Python中的分支判断、循环

    本文利用的是Python 3.x版本,建议学习3.x版本 Python中的分支判断.循环 1. 分支条件判断 1.1 比较操作 以下是数之间常见的比较操作,例如5>3就是数学意义上的比较,5是大 ...

  5. 用 Python 为接口测试自动生成用例

    用Python为接口自动生成测试用例 基于属性的测试会产生大量的.随机的参数,特别适合为单元测试和接口测试生成测试用例 尽管早在2006年haskell语言就有了QuickCheck来进行" ...

  6. python进行mp3格式判断

    python进行mp3格式判断 项目中使用mp3格式进行音效播放,遇到一个mp3文件在程序中死活播不出声音,最后发现它是wav格式的文件,却以mp3结尾.要对资源进行mp3格式判断,那么如何判断呢,用 ...

  7. 自动判断应该Ajax还是return

    起因 最近回顾以前的代码,发现一个偶尔会见到的现象.一个类里面的方法可能需要Ajax返回,也有可能需要函数return.这个现象发生在网站MVC中的 逻辑层(或模型层),示例如下.IndexCtrl是 ...

  8. Andoid自动判断输入是电话,网址或者Email的方法----Linkify的应用!

    本节要讲的是,当我们在一个EditText输入电话或者网址还是Email的时候,让Android自动判断,当我们输入的是电话,我们点击输入内容将调用打电话程序,当我们输入是网址点击将打开浏览器程序.而 ...

  9. 彻底解决android读取中文txt的乱码(自动判断文档类型并转码

    原文:http://blog.csdn.net/handsomedylan/article/details/6138400 public String convertCodeAndGetText(St ...

随机推荐

  1. selenium来识别数字验证码

    用python写一爬虫,需要模拟登陆,并且有数字验证码.通过selenium+pytesseract+PIL可以实现验证码识别并登陆.三大步: 用selenium截屏,此时截取的是整个页面的 用PIL ...

  2. jsc2019_qualD Classified

    题目大意 给你一个有n个点的完全图 求一种方案是的给边染色后任何一点不能沿一种颜色的边走奇数条边回到这个点 要求颜色数最少 分析 考场上输出格式打错见祖宗... 我们每次找一个最大二分图将其染一个新颜 ...

  3. AGC024C Sequence Growing Easy

    题目大意 你开始有一个序列x 它所有项都是0 你有一个操作:x[i]=x[i-1]+1 问你至少几次操作可以让x序列变为给定的a序列 分析 老年人完全不会这种脑子题/kk........ 我们定义b[ ...

  4. GitLab 安装,配置及维护

    参考: GitLab 官方文档 docker-gitlab,通过 docker-compose 快速安装 GitLab rake,是 Rails 的工具,类似 ruby 中常用的的 make.通过 R ...

  5. Docker 官网文档翻译汇总

    官方文档地址 Guide Docker 入门 Docker 入门教程 方向和设置 容器 服务 swarm 集群 stack 部署应用 概述 用 Docker 进行开发 在 Docker 上开发应用 应 ...

  6. vue-安装及新建一个项目

    1.首先我们需要安装node.js,下载地址是:https://nodejs.org/en/ 之后是node.js的正常安装步骤: 接着打开window+R输入cmd回车进入命令行模块 2.确认nod ...

  7. Linux:VIM简单入手

    现在的Linux系统一般都会默认安装VIM编辑器,如果没有安装VIM编辑器,也默认一定会有VI编辑器,VI编辑器产生的时间比鼠标来的更早,虽然功能很强大,但我建议安装VIM工具,安装了VIM之后,VI ...

  8. Java语言的特点与工作原理

    Java语言的特点 1.简单性 Java语言与我们常听到的C++语言很像,但是没有C++那么繁琐.因为Java就是在C++之上设计出来的,设计者把C++的一些特性去掉了,这些特性在实际开发中,程序员也 ...

  9. [CodeForces 52C]Circular RMQ

    题目传送门 评分:省选/NOI-,难度:普及+/提高 这题真的和RMQ没有半点关系,只需要一个裸的线段树,连pushdown都不需要,只需要两种操作:区间修改和区间求最小值,在回溯时加上标记即可,唯一 ...

  10. springboot的jar包部署

    由于springboot常用war包部署,改为cloud开发模式多端口情况下,部署反而不习惯 毕竟,war包要不要项目名访问都必须放在tomcat的root目录下 而此目录限制只能放置一个项目,并且登 ...