九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Python Appium 自動(dòng)化操作微信入門看這一篇就夠了
Python小二推薦搜索

簡(jiǎn)介

Appium 是一個(gè)開源的自動(dòng)化測(cè)試工具,支持 Android、iOS 平臺(tái)上的原生應(yīng)用,支持 Java、Python、PHP 等多種語言。

Appium 封裝了 Selenium,能夠?yàn)橛脩籼峁┧谐R姷?JSON 格式的 Selenium 命令以及額外的移動(dòng)設(shè)備相關(guān)的控制命令,比如:多點(diǎn)觸控手勢(shì)、屏幕朝向等。

環(huán)境

本文主要環(huán)境如下:

  • Win7
  • JDK1.8
  • Appium
  • Python3.7
  • android-sdk
  • mumu 模擬器

JDK

下載地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html,也可在文末直接獲取

配置環(huán)境變量:

  • 計(jì)算機(jī)(右鍵)->屬性->高級(jí)系統(tǒng)設(shè)置->高級(jí)->環(huán)境變量->新建環(huán)境變量 JAVA_HOME,如圖所示:

  • 系統(tǒng)變量->找到 Path 變量->編輯->在變量值的末尾添加;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

  • 新建 CLASSPATH 變量,變量值為:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

android-sdk

下載地址:https://www.androiddevtools.cn/,也可在文末直接獲取

配置環(huán)境變量:

  • 與 JDK 配置類似,新建環(huán)境變量 ANDROID_HOME,變量值為 android-sdk 位置,比如:D:\android-sdk-windows

  • Path 變量值的末尾添加 ;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\30.0.0-preview;%ANDROID_HOME%\platform-tools

Appium

下載地址:https://github.com/appium/appium-desktop/releases/tag/v1.18.3,也可在文末直接獲取

安裝 Python 庫(kù):pip install appium-python-client

Appium 安裝完成啟動(dòng)后,點(diǎn)擊編輯配置,配置 JDK 和 android-sdk,如圖所示:

mumu

下載地址:http://www.51xiazai.cn/soft/584481.htm,也可在文末直接獲取

mumu 模擬器下載完后,除了根據(jù)自己需要更改一下安裝路徑,其他選項(xiàng)默認(rèn)即可安裝,裝完后打開點(diǎn)擊應(yīng)用中心,搜一下微信,搜到之后安裝一下,微信安裝完成后再用自己的微信號(hào)登錄一下。

因?yàn)槲覀兪峭ㄟ^安卓的 adb 連接虛擬機(jī)的,因此需要在控制臺(tái)執(zhí)行 adb connect 127.0.0.1:7555 命令,讓 adb 連接上虛擬機(jī)。

執(zhí)行了上面連接模擬器的命令后,我們可以在 cmd 控制臺(tái)輸入 adb devices 查看當(dāng)前連接的虛擬機(jī)。

使用

首先啟動(dòng) Appium 和 mumu,因?yàn)橹拔覀円呀?jīng)配置了 Appium,此時(shí)我們直接點(diǎn)擊 Appium 的啟動(dòng)服務(wù)器按鈕即可,如下圖所示:

啟動(dòng)之后如圖所示:

現(xiàn)在我們可以先通過 Python 來啟動(dòng)一下微信,代碼實(shí)現(xiàn)如下:

desired_caps = {
        'platformName''Android',  # 操作系統(tǒng)
        'deviceName''emulator-5554',  # 設(shè)備 ID
        'platformVersion''6.0.1',  # 設(shè)備版本號(hào)
        'appPackage''com.tencent.mm',  # app 包名
        'appActivity''com.tencent.mm.ui.LauncherUI',  # app 啟動(dòng)時(shí)主 Activity
        'noReset': True,  # 是否保留 session 信息,可以避免重新登錄
        'unicodeKeyboard': True,  # 使用 unicodeKeyboard 的編碼方式來發(fā)送字符串
        'resetKeyboard': True  # 將鍵盤給隱藏起來
    }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

執(zhí)行上述代碼之后,如果發(fā)現(xiàn) mumu 模擬器中的微信已經(jīng)啟動(dòng)了,就說明基本環(huán)境已經(jīng)調(diào)通了;如果執(zhí)行代碼后發(fā)現(xiàn)調(diào)不到 mumu 模擬器中的微信,先在 cmd 中執(zhí)行一下 adb connect 127.0.0.1:7555 命令,再執(zhí)行程序即可。

添加好友

我們先來使用 Appium 實(shí)現(xiàn)添加好友的操作,基本過程為:打開微信->點(diǎn)擊⊕->選擇添加朋友->在搜索框輸入微信號(hào)->點(diǎn)擊搜索->點(diǎn)擊添加到通訊錄,功能的代碼實(shí)現(xiàn)如下:

desired_caps = {
        'platformName''Android',  # 操作系統(tǒng)
        'deviceName''emulator-5554',  # 設(shè)備 ID
        'platformVersion''6.0.1',  # 設(shè)備版本號(hào)
        'appPackage''com.tencent.mm',  # app 包名
        'appActivity''com.tencent.mm.ui.LauncherUI',  # app 啟動(dòng)時(shí)主 Activity
        'noReset': True,  # 是否保留 session 信息,可以避免重新登錄
        'unicodeKeyboard': True,  # 使用 unicodeKeyboard 的編碼方式來發(fā)送字符串
        'resetKeyboard': True  # 將鍵盤給隱藏起來
    }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
time.sleep(10)
print('點(diǎn)擊 號(hào)')
driver.find_element_by_id('com.tencent.mm:id/ef9').click()
time.sleep(5)
print('選擇添加朋友')
driver.find_elements_by_id('com.tencent.mm:id/gam')[1].click()
time.sleep(5)
print('點(diǎn)擊搜索框')
driver.find_element_by_id('com.tencent.mm:id/fcn').click()
time.sleep(5)
print('在搜索框輸入微信號(hào)')
driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('ityard')
time.sleep(3)
print('點(diǎn)擊搜索')
driver.find_element_by_id('com.tencent.mm:id/ga1').click()
time.sleep(3)
print('點(diǎn)擊添加到通訊錄')
driver.find_element_by_id('com.tencent.mm:id/g6f').click()

簡(jiǎn)單說一下,在代碼中我們通過 driver.find_element_by_id('com.tencent.mm:id/xx') 來獲取微信上的元素,如果有重復(fù)的,則可以使用 driver.find_elements_by_id('com.tencent.mm:id/xx')[n] 來取,通過 send_keys('xx') 實(shí)現(xiàn)信息的輸入,通過 click() 實(shí)現(xiàn)點(diǎn)擊操作。

上面我們說了通過 find_element(s)_by_id('com.tencent.mm:id/xx') 來獲取元素,那么如何來確定 xx 呢?下面來一起看一下。

首先我們點(diǎn)擊 Appium 中的放大鏡位置,如下圖所示:

點(diǎn)擊之后會(huì)進(jìn)到如下界面:

我們?cè)趫D中所需功能下方將代碼中的 desired_caps 信息配置進(jìn)去,配置好后點(diǎn)擊啟動(dòng)會(huì)話按鈕,啟動(dòng)之后我們會(huì)發(fā)現(xiàn) Appium 中與 mumu 中的微信效果不一致,如下圖所示:

此時(shí)只需點(diǎn)擊一下上圖中紅框圈起來的刷新按鈕即可,現(xiàn)在我們就可以確定元素的值了(也就是上面說的 xx),比如:我們來確定微信中添加位置 的值,用鼠標(biāo)點(diǎn)擊 即可查看,如下圖所示:

我們接著點(diǎn)擊 ,操作步驟為:先到 mumu 模擬器中點(diǎn)擊微信中的 ,如下圖所示:

點(diǎn)擊之后再到 Appium 中點(diǎn)擊刷新按鈕,如下圖所示:

從圖中我們可以看列表中每個(gè)選項(xiàng)的值都是 com.tencent.mm:id/gam,此時(shí)代碼中我們就是用的 driver.find_elements_by_id('com.tencent.mm:id/gam')[1] 來取的,通過上面的介紹相信大家對(duì) Appium 的使用已經(jīng)基本了解了。

發(fā)送消息

發(fā)送消息我們模擬的基本流程是:打開微信->點(diǎn)擊搜索的放大鏡->在搜索框輸入好友昵稱->點(diǎn)擊搜索到的好友->發(fā)送文字 表情,代碼實(shí)現(xiàn)如下:

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python自動(dòng)化爬取App數(shù)據(jù)
appium+python自動(dòng)化30-list定位(find_elements)
Python + Appium 環(huán)境搭建
這么神奇!Python都能打電話了?
強(qiáng)大!Python 自動(dòng)化清理微信僵尸好友
python爬蟲24 | 搞事情了,用 Appium 爬取你的微信朋友圈。
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服