日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python实现手机通讯录_python+uiautomator2实现需求:从通讯录添加手机号码作为SOS紧急号码...

發(fā)布時間:2025/4/5 python 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现手机通讯录_python+uiautomator2实现需求:从通讯录添加手机号码作为SOS紧急号码... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

# 實現(xiàn)需求:從通訊錄添加手機號碼,若存在舊的SOS號碼,先刪除再添加,若通訊錄中沒有號碼,需先新建。

import uiautomator2as u2

from timeimport sleep

import time

import random

distinct_devices ="H6ZPKR45DAB64DJB"

device = u2.connect(distinct_devices)

package ="com.njzx.shbsetting"

path ="E:\\pycharm\\run\\UiAutomator2\\F5\\SOS\\FromBookPic\\"

path_result ="E:\\pycharm\\run\\UiAutomator2\\F5\\SOS\\result\\"

now_time = time.strftime("%Y-%m-%d-%H-%M-%S")

#? 啟動SOS應(yīng)用

def start_app():

device.app_start(package)

sleep(1)

#? 從通訊錄添加號碼并保存

def addTel_submit():

device(resourceId="com.njzx.shbsetting:id/layout_sos").click()

sleep(1)

#? 判斷是否存在舊的SOS號碼,若存在先刪除再添加

count_elments = device(resourceId ="zte.shb.sossetting:id/number").count

print("已有的舊的SOS號碼個數(shù)為:"+str(count_elments) +"。\n稍后執(zhí)行刪除動作!")

if count_elments !=0:

for iin range(0,count_elments):

device(resourceId="zte.shb.sossetting:id/delete").click()

device(resourceId="zte.shb.sossetting:id/btn_set").click()

print("刪除成功!")

getFromContactors()

device.press("home")

else:

getFromContactors()

device.press("home")

#? 從通訊錄選擇號碼:

list_name = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n"]

list_tel = ["1234","143536","5656565435","2344567","234455756","686778967","144354657",

"562789","90909090","6725111","6764535"]

def getFromContactors():

device(resourceId ="zte.shb.sossetting:id/add_from_contactors").click()

sleep(1)

#? 判斷有沒有聯(lián)系人,如果沒有,返回到聯(lián)系人應(yīng)用先新建聯(lián)系人 package = "com.android.dialer",然后添加

none_elements = device(text ="您還沒有添加任何聯(lián)系人")

dialer_package ="com.android.dialer"

if none_elements.exists:

device.app_start(dialer_package)

device(text ="通訊錄").click()#? 確保在聯(lián)系人界面

sleep(1)

#? 判斷列表中:姓名列表的長度和號碼列表的長度和最多能夠添加多少個SOS號碼(也就是5)的大小,然后新建聯(lián)系人

if len(list_name) >=5 and len(list_tel)>=5 :

for iin range(0,5):

print("直接選取5個號碼")

addNameAddTel()

elif len(list_name) <5 and len(list_tel) <=len(list_name):

for iin range(0,len(list_tel)):#? len(list_tel)

print("以list_tel的長度作為全部號碼")

addNameAddTel()

elif len(list_tel) <5 and len(list_name) <=len(list_tel):

for iin range(0,len(list_name)):#? len(list_name)

print("以list_name的長度作為全部號碼")

addNameAddTel()

elif len(list_name) >5 and len(list_tel)<5:

for iin range(0,len(list_tel)):#? len(list_tel)

print("以list_tel的長度作全部號碼")

addNameAddTel()

elif len(list_tel)>5 and len(list_name)<5:

for iin range(0,len(list_name)):#? len(list_name)

print("以list_name的長度作為全部號碼")

addNameAddTel()

#? 重新打開SOS,選擇已經(jīng)新建好的號碼:

start_app()

device(resourceId="com.njzx.shbsetting:id/layout_sos").click()

sleep(1)

device(resourceId="zte.shb.sossetting:id/add_from_contactors").click()

sleep(1)

image = device.screenshot()

image.save(path + now_time +'.jpg')

sleep(1)

selectTelFromContect()

sleep(2)

image = device.screenshot()

image.save(path_result + now_time +'.jpg')

#? 若存在聯(lián)系人,直接添加

else:

selectTelFromContect()

sleep(2)

image = device.screenshot()

image.save(path_result + now_time +'.jpg')

#? 向聯(lián)系人中新建號碼

def addNameAddTel():

device(resourceId="com.android.dialer:id/zte_edit_contact").click()

device(text="添加聯(lián)系人").click()

sleep(1)

select_name = random.choice(list_name)# 隨機選取一個姓名

list_name.remove(select_name)# 姓名不重復(fù)

print("本次隨機選擇的姓名是:" + select_name +"。\n稍后刪除" + select_name +",打印出剩余姓名!")

print(list_name)

device(text="姓名").click()

device(text="姓名").send_keys(select_name)

select_tel = random.choice(list_tel)

list_tel.remove(select_tel)# 號碼不重復(fù)

print("本次隨機選擇的號碼是:" + select_tel +"。\n稍后刪除" + select_tel +",打印出剩余號碼!")

print(list_tel)

device(text="電話").click()

device(text="電話").send_keys(select_tel)

device(text="完成").click()

sleep(1)

device.press("back")

sleep(1)

sostel1 = device(resourceId ="com.android.contacts:id/cliv_name_textview",instance=0)

sostel2 = device(resourceId ="com.android.contacts:id/cliv_name_textview",instance=1)

sostel3 = device(resourceId ="com.android.contacts:id/cliv_name_textview",instance=2)

sostel4 = device(resourceId ="com.android.contacts:id/cliv_name_textview",instance=3)

sostel5 = device(resourceId ="com.android.contacts:id/cliv_name_textview",instance=4)

list_sosTel = [sostel1,sostel2,sostel3,sostel4,sostel5]

#? 從聯(lián)系人中隨機選擇SOS號碼并添加

def selectTelFromContect():

for iin range(0,5):

selectFromsosTel = random.choice(list_sosTel)

selectFromsosTel.click()

list_sosTel.remove(selectFromsosTel)

print(list_sosTel)

device(text ="添加").click()

device(text ="從通訊錄中添加").click()

if __name__ =='__main__':

start_app()

addTel_submit()

總結(jié)

以上是生活随笔為你收集整理的python实现手机通讯录_python+uiautomator2实现需求:从通讯录添加手机号码作为SOS紧急号码...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。