python自動化實現自動回復QQ消息

前言

近段時間,看瞭一下運用python實現app自動化的視頻,覺得那上面的講的不錯,於是就用所學的知識做瞭一個程序,實現自動回復QQ消息。

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. 總結

到此這篇關於python自動化實現自動回復QQ消息的文章就介紹到這瞭,更多相關python 自動回復QQ內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: