Skip to content

Commit 7888f76

Browse files
committed
no message
1 parent 4f6879e commit 7888f76

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
import time
2+
3+
from appium import webdriver
4+
from selenium.common.exceptions import NoSuchElementException
5+
6+
desired_capabilities = {
7+
'platformName': 'Android', # 操作系统
8+
'deviceName': '2a254a02', # 设备 ID
9+
'platformVersion': '10.0.10', # 设备版本号,在手机设置中查看
10+
'appPackage': 'com.tencent.mm', # app 包名
11+
'appActivity': 'com.tencent.mm.ui.LauncherUI', # app 启动时主 Activity
12+
'noReset': True # 是否保留 session 信息 避免重新登录
13+
}
14+
15+
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_capabilities)
16+
print('微信启动')
17+
18+
19+
20+
# 所有好友
21+
friends = ['宝贝']
22+
def get_friends():
23+
# 好友id
24+
address_list = driver.find_elements_by_id('com.tencent.mm:id/dy5')
25+
for address in address_list:
26+
# 昵称
27+
friend = address.get_attribute('content-desc')
28+
# 过滤掉自己、微信团队、文件夹传输助手
29+
if friend != '某某白米饭' and friend != '微信团队' and friend != '文件夹传输助手':
30+
friends.append(friend)
31+
# 获取到最后一个好友返回
32+
if friend == '🔥Jiuki🔥':
33+
return
34+
# 向上滚动获取好友,获取好友会重复,最后结果需过滤
35+
driver.swipe(100, 1000, 100, 500)
36+
# 递归循环得到所有好友
37+
get_friends()
38+
pass
39+
40+
# 判断是否被删
41+
def is_del(f):
42+
43+
time.sleep(2)
44+
driver.find_element_by_id('com.tencent.mm:id/cn1').click()
45+
time.sleep(2)
46+
# 在搜索框输入搜索信息
47+
driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(f)
48+
time.sleep(2)
49+
#点击好友
50+
driver.find_element_by_id('com.tencent.mm:id/tm').click()
51+
time.sleep(2)
52+
# 转账操作 + 号
53+
driver.find_element_by_id('com.tencent.mm:id/aks').click()
54+
time.sleep(2)
55+
# 转账按钮
56+
driver.find_elements_by_id('com.tencent.mm:id/pa')[5].click()
57+
time.sleep(2)
58+
# 数字 1
59+
driver.find_element_by_id('com.tencent.mm:id/cx_').click()
60+
time.sleep(1)
61+
# 付款界面转账按钮
62+
driver.find_element_by_id('com.tencent.mm:id/cxi').click()
63+
time.sleep(2)
64+
65+
# 判断是否被删
66+
is_exist = is_element('com.tencent.mm:id/dos')
67+
if is_exist:
68+
# 不能转账就点击确定按钮
69+
driver.find_element_by_id('com.tencent.mm:id/doz').click()
70+
71+
time.sleep(2)
72+
else:
73+
# 可以转账就后退
74+
driver.press_keycode(4)
75+
76+
# 后退到 搜索页面
77+
driver.press_keycode(4)
78+
driver.press_keycode(4)
79+
driver.press_keycode(4)
80+
driver.press_keycode(4)
81+
# 清空文本框
82+
driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('')
83+
84+
return is_exist
85+
86+
87+
# 删除好友
88+
def del_friend(friend):
89+
time.sleep(2)
90+
driver.find_element_by_id('com.tencent.mm:id/cn1').click()
91+
time.sleep(2)
92+
driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys(friend)
93+
time.sleep(2)
94+
#点击好友
95+
driver.find_element_by_id('com.tencent.mm:id/tm').click()
96+
time.sleep(2)
97+
# 右上角...
98+
driver.find_element_by_id('com.tencent.mm:id/cj').click()
99+
time.sleep(2)
100+
# 头像
101+
driver.find_element_by_id('com.tencent.mm:id/f3y').click()
102+
time.sleep(2)
103+
# 右上角...
104+
driver.find_element_by_id('com.tencent.mm:id/cj').click()
105+
time.sleep(2)
106+
# 删除按钮
107+
driver.find_element_by_id('com.tencent.mm:id/g6f').click()
108+
time.sleep(2)
109+
# 选中删除
110+
driver.find_element_by_id('com.tencent.mm:id/doz').click()
111+
112+
def is_element(id):
113+
flag = None
114+
try:
115+
driver.find_element_by_id(id)
116+
flag = True
117+
except NoSuchElementException:
118+
flag = False
119+
finally:
120+
return flag
121+
122+
time.sleep(8)
123+
driver.find_elements_by_id('com.tencent.mm:id/cn_')[1].click()
124+
125+
time.sleep(3)
126+
get_friends()
127+
friends = list(set(friends))
128+
129+
del_friends = []
130+
for f in friends:
131+
is_exist = is_del(f)
132+
if is_exist:
133+
del_friends.append(f)
134+
135+
for f in del_friends:
136+
del_friend(f)

0 commit comments

Comments
 (0)