91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Python實現打電話

發布時間:2021-11-20 15:41:17 來源:億速云 閱讀:577 作者:iii 欄目:編程語言

本篇內容介紹了“怎么用Python實現打電話”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、環境配置

1、安裝 jdk 1.8+ ,并配環境變量。

2、安裝Android SDK,可以直接下載安裝,也可以通過android-studio里面安裝,安裝好后配環境變量,配好后cmd后輸入adb執行成功則配好。

3、安裝appium 1.8.0,我用的這個版本,還挺穩定,原生和微信H5支持還可以,其他版本試過一些,可能原生支持還行,微信公眾號H5頁面支持不友好。

二、查看元素

sdk安裝好后,找到uiautomatorviewer.bat打開,用來獲取元素id、text等屬性,用于我們定位元素,這點跟selenium那一套基本一致,不過有一點值得注意的是,安卓app里面的id并不是唯一的,這個跟在web里面有區別,用id的時候注意看下是否是唯一元素。

怎么用Python實現打電話

用左上角的工具審查元素,比如*鍵,可以看到id是star,其他按鍵各種元素id查看方式一致。

怎么用Python實現打電話

三、配置信息獲取

1、電腦手機通過數據線連接好,輸入命令adb devices,獲取手機的設備識別號。

怎么用Python實現打電話

2、命令行輸入:adb shell dumpsys window windows | findstr "Current"

用來獲取當前應用的包名和啟動頁。

包名:com.android.contacts

啟動頁:com.android.contacts.activities.TwelveKeyDialer

怎么用Python實現打電話

四、代碼編寫

代碼如下,我這里有相關引入文件。

import sys
sys.path.insert(0,"C:\\Users\\Administrator\\Desktop\\imooc\\python_call")
from action import Action
from appium import webdriver
action = Action()
# 相關配置
action.desired_caps['platformName'] = 'Android' # 平臺
action.desired_caps['platformVersion'] = '7.0' # Android版本
action.desired_caps['deviceName'] = 'a20bc6990604' # 設備號
action.desired_caps['appPackage'] = 'com.android.contacts' # 包名
action.desired_caps['appActivity'] = 'com.android.contacts.activities.TwelveKeyDialer' # 啟動頁
action.desired_caps['unicodeKeyboard'] = True # 使用unicode編碼方式發送字符串
action.desired_caps['resetKeyboard'] = True # 將鍵盤隱藏起來,默認true
action.desired_caps['noReset'] = True # 應用狀態是否需要重置,默認true
action.desired_caps['automationName'] = 'Uiautomator2' # 自動化引擎,兼容原生和H5
# 控制遠程appium
action.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", action.desired_caps)
# 點擊事件
action.click_key("id=>one")
action.click_key("id=>five")
action.click_key("id=>two")
action.click_key("id=>three")
action.click_key("id=>six")
action.click_key("id=>two")
action.click_key("id=>eight")
action.click_key("id=>eight")
action.click_key("id=>eight")
action.click_key("id=>star")
action.click_key("id=>star")
action.click_key("id=>call_sim1")

其中click_key是我自定義的方法,比如傳入id=>star后,根據=>進行split切分,前面是id,后面是id值,有些時候我會用xpath寫法,其實我下面是在項目中涉及很多變量,很多單獨維護了,可能你看起來有點復雜,其實跟selenium差不多,點擊方法就是click,找元素就是find_element,然后根據id找的話,要把id值傳進去。

byDict = {
 "xpath": By.XPATH,
 "id": By.ID,
}
def find_ele(self, loc):
 print(loc.split("=>")[0],loc.split("=>")[1])
 element = WebDriverWait(self.driver, 30).until(
 lambda x: x.find_element(byDict[loc.split("=>")[0]], loc.split("=>")[1]))
 print(element)
 return element
def click_key(self, loc):
 self.find_ele(loc).click()

五、運行

怎么用Python實現打電話

啟動appium,以默認0.0.0.0:4723啟動即可,然后運行python程序,即可看到手機撥打電話執行過程。

“怎么用Python實現打電話”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

观塘区| 三河市| 濉溪县| 麻栗坡县| 正定县| 桦南县| 筠连县| 仁布县| 津南区| 枣庄市| 乐清市| 桦南县| 鄂托克旗| 永寿县| 正阳县| 永康市| 浑源县| 仪陇县| 尤溪县| 微博| 三河市| 祁东县| 蒙自县| 太仓市| 岚皋县| 台南市| 唐海县| 利津县| 青田县| 大丰市| 商都县| 无为县| 娄烦县| 贵南县| 苗栗市| 浪卡子县| 平南县| 璧山县| 建始县| 遂川县| 平顺县|