python自動化:實作自動回復QQ訊息
前言
近段時間,看了一下運用python實作app自動化的視頻,覺得那上面的講的不錯,于是就用所學的知識做了一個程式,實作自動回復QQ訊息,
文章目錄
- python自動化:實作自動回復QQ訊息
- 1.需要安裝的相關軟體和python模塊
- 2. 連接手機
- 3.測驗是否連接成功
- 4.代碼實作
- 5. 總結
1.需要安裝的相關軟體和python模塊
1.1 安裝client模塊
打開命令視窗,輸入命令:pip install appium-python-client
1.2 安裝Appium Server
下載網址為:appium
1.3 安裝JDK
安裝好之后,添加環境變數JAVA_HOME,指定jdk的安裝目錄,小編為:


1.4 安裝android sdk
添加一個環境變數ANDROID_HOME,設定值為sdk包的解壓目錄,小編為:


另外,最好在path里面添加adb.exe的環境變數


1.5 投屏軟體
小編用的是米卓同屏助手,下載網址為:米卓同屏助手
2. 連接手機
小編用的USB連接,需要一條資料線,將手機和電腦端連接起來,同時需要打開手機的開發者模式,
那么怎樣打開開發者模式,以小編的手機為例(OPPO手機)
來到手機設定,點擊關于手機,之后一直點擊版本號,當出現以下字樣即可

然后進入其他設定(不同手機可能不同),就可以看到這里多了一個開發者選項了,

進入開發者選項,然后打開,可以發現這里有一個USB除錯的開關,打開它,

打開之后,就可以看到在這個投屏軟體上了出現了手機的畫面

3.測驗是否連接成功
在命令視窗中輸入: adb devices -l ,如果出現以下這個畫面,應該是成功連接了
有個時候,可能會報錯,一般原因是投屏軟體的adb.exe版本和sdk的adb.exe版本不一致導致的,(小編自己猜測的)應該只需把其中任意一個adb.exe復制到另外那個那里就行了,


4.代碼實作
參考代碼如下:
from appium import webdriver
import time
desired_caps={
'platformName':'Android',
'platformVersion':'8.1',
'deviceName':'xxx',
'appPackage':'com.tencent.qqlite', # 自動化應用
'appActivity':'com.tencent.mobileqq.activity.SplashActivity',
#'unicodeKeyboard':True,
#'resetKeyboard':True,
'noReset':True,
'newCommandTimeout':6000,
'automationName':'UiAutomator2'
}
driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.implicitly_wait(10)
driver2=driver.find_element_by_id('recent_chat_list')
list2=driver2.find_elements_by_class_name('android.widget.LinearLayout')
print('當前QQ訊息為%d個'%(len(list2)))
time.sleep(2)
list2[0].click()
def send_Message(text2:str): # 發訊息
driver4=driver.find_element_by_id('inputBar')
driver4.find_element_by_id('input').send_keys(text2)
driver4.find_element_by_id('fun_btn').click()
time.sleep(2)
print("發送訊息:%s"%(text2))
list4=[
"劉邦,字季,沛郡豐邑(今江蘇省豐縣)人,中國歷史上杰出的政治家、戰略家和軍事指揮家,漢朝開國皇帝,漢民族和漢文化的偉大奠基者和開拓者,對漢族的發展以及中國的統一有突出貢獻,",
"還沒",
"湖南省,簡稱“湘”,是中華人民共和國省級行政區,省會長沙,界于北緯24°38′~30°08′,東經108°47′~114°15′之間,東臨江西,西接重慶、貴州,南毗廣東、廣西,北連湖北,總面積21.18萬平方千米,"
]
while True:
try:
driver3=driver.find_element_by_id('listView1')
list3=driver3.find_elements_by_class_name('android.widget.RelativeLayout')
text=list3[-1].find_element_by_id('chat_item_content_layout').text
print('收到訊息:%s'%(text)) # 接收訊息
time.sleep(5)
if(text=='你好,請幫我查閱一下劉邦的簡介'):
send_Message(list4[0])
elif(text=="你吃中飯了沒"):
send_Message(list4[1])
elif(text=="介紹一下湖南唄!"):
send_Message(list4[2])
except Exception as e:
pass
在運行代碼的程序當中,會在手機上自動安裝一些東東,同意安裝即可,
運行結果:
運用python實作自動回復QQ訊息
5. 總結
這是小編學了幾天的成果,希望走過的讀者記得點贊一下唄!如果運行上述那個代碼,可能不一定成功!讀者最好學習一下相關知識哈!這里給出小編學習的那個網址:自動化,同時這個網址下面也有講到上述軟體壓縮包下載鏈接(百度網盤),
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/250247.html
標籤:其他
