gpt4 book ai didi

使用Python+Appuim 清理微信的方法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章使用Python+Appuim 清理微信的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

使用 appium

安装一下 python 用到的模块 。

?
1
pip install appium - python - client

获取好友列表

在 pycharm 中配置一下启动环境 。

?
1
2
3
4
5
6
7
8
9
10
11
desired_capabilities = {
   'platformname' : 'android' , # 操作系统
   'devicename' : '2a254a02' , # 设备 id,使用 cmd 中 adb devices 命令得到
   'platformversion' : '10.0.10' , # 设备版本号,在手机设置中查看
   'apppackage' : 'com.tencent.mm' , # app 包名
   'appactivity' : 'com.tencent.mm.ui.launcherui' , # app 启动时主 activity
   'noreset' : true # 是否保留 session 信息 避免重新登录
}
 
driver = webdriver.remote( 'http://localhost:4723/wd/hub' , desired_capabilities)
print ( '微信启动' )

下图是 appium 启动后截图 。

使用Python+Appuim 清理微信的方法

点击红框中按钮,将上面的参数填上,点击 start session 。

使用Python+Appuim 清理微信的方法

启动后点击刷新按钮,看到的界面和真机上一样了,在真机上点击通讯录按钮并刷新界面 。

使用Python+Appuim 清理微信的方法

在 appium 界面点击一个好友,可以看到这个好友有一个 content-desc 和 resource-id 代表了昵称和资源 id 。

使用Python+Appuim 清理微信的方法

然后我们用 python 获取所有的好友昵称 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 所有好友
friends = []
def get_friends():
   # 好友id
   address_list = driver.find_elements_by_id( 'com.tencent.mm:id/dy5' )
   for address in address_list:
     # 昵称
     friend = address.get_attribute( 'content-desc' )
     # 过滤掉自己、微信团队、文件夹传输助手
     if friend ! = '某某白米饭' and friend ! = '微信团队' and friend ! = '文件夹传输助手' :
       friends.append(friend)
     # 获取到最后一个好友返回
     if friend = = 'jiuki' :
       return
   # 向上滚动获取好友,获取好友会重复,最后结果需过滤
   driver.swipe( 100 , 1000 , 100 , 500 )
   # 递归循环得到所有好友
   get_friends()

得到被对方删除的好友

在微信中被对方删除后,是不能进行转账的,这也是用来判断被对方删除的依据 。

使用Python+Appuim 清理微信的方法

下面四步骤就是用 python 模拟微信转账操作 。

  1. 按上面获取的昵称搜索得到好友
  2. 在好友对话框中点击 + 号,获取到转账按钮
  3. 在转账界面输入 1 元,点击转账按钮,得到是否为好友结果
  4. 最后返回到搜索页面清空搜索框内容
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# 判断是否被删
def is_del(f):
 
   time.sleep( 2 )
   driver.find_element_by_id( 'com.tencent.mm:id/cn1' ).click()
   time.sleep( 2 )
   # 在搜索框输入搜索信息
   driver.find_element_by_id( 'com.tencent.mm:id/bhn' ).send_keys(f)
   time.sleep( 2 )
   #点击好友
   driver.find_element_by_id( 'com.tencent.mm:id/tm' ).click()
   time.sleep( 2 )
   # 转账操作 + 号
   driver.find_element_by_id( 'com.tencent.mm:id/aks' ).click()
   time.sleep( 2 )
   # 转账按钮
   driver.find_elements_by_id( 'com.tencent.mm:id/pa' )[ 5 ].click()
   time.sleep( 2 )
   # 数字 1
   driver.find_element_by_id( 'com.tencent.mm:id/cx_' ).click()
   time.sleep( 1 )
   # 付款界面转账按钮
   driver.find_element_by_id( 'com.tencent.mm:id/cxi' ).click()
   time.sleep( 2 )
 
   # 判断是否被删
   is_exist = is_element( 'com.tencent.mm:id/dos' )
   if is_exist:
     # 不能转账就点击确定按钮
     driver.find_element_by_id( 'com.tencent.mm:id/doz' ).click()
 
     time.sleep( 2 )
   else :
     # 可以转账就后退
     driver.press_keycode( 4 )
 
   # 后退到 搜索页面
   driver.press_keycode( 4 )
   driver.press_keycode( 4 )
   driver.press_keycode( 4 )
   driver.press_keycode( 4 )
   # 清空文本框
   driver.find_element_by_id( 'com.tencent.mm:id/bhn' ).send_keys('')
  
   return f
 
def is_element( id ):
   flag = none
   try :
     driver.find_element_by_id( id )
     flag = true
   except nosuchelementexception:
     flag = false
   finally :
     return flag

因为 appium 操作 app 有延迟,所以在每个操作后延迟 2 秒 。

删除好友 。

在得到被删好友的联系人之后,用个步骤在 python 中微信删除好友 。

在搜索框中用昵称搜索被删好友的联系人 。

进入对话界面后,点击界面右上角的... 。

点击好友头像 。

点击个人信息界面右上角的... 。

点击删除按钮 。

在选择框中点击删除 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 删除好友
def del_friend(friend):
   time.sleep( 2 )
   driver.find_element_by_id( 'com.tencent.mm:id/cn1' ).click()
   time.sleep( 2 )
   driver.find_element_by_id( 'com.tencent.mm:id/bhn' ).send_keys(friend)
   time.sleep( 2 )
   #点击好友
   driver.find_element_by_id( 'com.tencent.mm:id/tm' ).click()
   time.sleep( 2 )
   # 右上角...
   driver.find_element_by_id( 'com.tencent.mm:id/cj' ).click()
   time.sleep( 2 )
   # 头像
   driver.find_element_by_id( 'com.tencent.mm:id/f3y' ).click()
   time.sleep( 2 )
   # 右上角...
   driver.find_element_by_id( 'com.tencent.mm:id/cj' ).click()
   time.sleep( 2 )
   # 删除按钮
   driver.find_element_by_id( 'com.tencent.mm:id/g6f' ).click()
   time.sleep( 2 )
   # 选中删除
   driver.find_element_by_id( 'com.tencent.mm:id/doz' ).click()

总结 。

到此这篇关于使用python+appuim 清理微信的文章就介绍到这了,更多相关python appuim 清理微信内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网! 。

原文链接:https://blog.csdn.net/lianshaohua/article/details/113177127 。

最后此篇关于使用Python+Appuim 清理微信的方法的文章就讲到这里了,如果你想了解更多关于使用Python+Appuim 清理微信的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com