python自動(dòng)化實(shí)現(xiàn)自動(dòng)回復(fù)QQ消息
近段時(shí)間,看了一下運(yùn)用python實(shí)現(xiàn)app自動(dòng)化的視頻,覺(jué)得那上面的講的不錯(cuò),于是就用所學(xué)的知識(shí)做了一個(gè)程序,實(shí)現(xiàn)自動(dòng)回復(fù)QQ消息。
1.需要安裝的相關(guān)軟件和python模塊1.1 安裝client模塊打開(kāi)命令窗口,輸入命令:pip install appium-python-client
1.2 安裝Appium Server下載網(wǎng)址為:appium1.3 安裝JDK安裝好之后,添加環(huán)境變量JAVA_HOME,指定jdk的安裝目錄,小編為:


1.4 安裝android sdk添加一個(gè)環(huán)境變量ANDROID_HOME,設(shè)置值為sdk包的解壓目錄,小編為:


另外,最好在path里面添加adb.exe的環(huán)境變量


1.5 投屏軟件小編用的是米卓同屏助手,下載網(wǎng)址為:米卓同屏助手
2. 連接手機(jī)小編用的USB連接,需要一條數(shù)據(jù)線,將手機(jī)和電腦端連接起來(lái),同時(shí)需要打開(kāi)手機(jī)的開(kāi)發(fā)者模式。那么怎樣打開(kāi)開(kāi)發(fā)者模式,以小編的手機(jī)為例(OPPO手機(jī))來(lái)到手機(jī)設(shè)置,點(diǎn)擊關(guān)于手機(jī),之后一直點(diǎn)擊版本號(hào),當(dāng)出現(xiàn)以下字樣即可

然后進(jìn)入其他設(shè)置(不同手機(jī)可能不同),就可以看到這里多了一個(gè)開(kāi)發(fā)者選項(xiàng)了。

進(jìn)入開(kāi)發(fā)者選項(xiàng),然后打開(kāi),可以發(fā)現(xiàn)這里有一個(gè)USB調(diào)試的開(kāi)關(guān),打開(kāi)它。

打開(kāi)之后,就可以看到在這個(gè)投屏軟件上了出現(xiàn)了手機(jī)的畫(huà)面

在命令窗口中輸入: adb devices -l ,如果出現(xiàn)以下這個(gè)畫(huà)面,應(yīng)該是成功連接了

有個(gè)時(shí)候,可能會(huì)報(bào)錯(cuò),一般原因是投屏軟件的adb.exe版本和sdk的adb.exe版本不一致導(dǎo)致的,(小編自己猜測(cè)的)應(yīng)該只需把其中任意一個(gè)adb.exe復(fù)制到另外那個(gè)那里就行了。


參考代碼如下:
from appium import webdriverimport timedesired_caps={ ’platformName’:’Android’, ’platformVersion’:’8.1’, ’deviceName’:’xxx’, ’appPackage’:’com.tencent.qqlite’, # 自動(dòng)化應(yīng)用 ’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(’當(dāng)前QQ消息為%d個(gè)’%(len(list2)))time.sleep(2)list2[0].click()def send_Message(text2:str): # 發(fā)消息 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('發(fā)送消息:%s'%(text2))list4=['劉邦,字季,沛郡豐邑(今江蘇省豐縣)人。中國(guó)歷史上杰出的政治家、戰(zhàn)略家和軍事指揮家,漢朝開(kāi)國(guó)皇帝,漢民族和漢文化的偉大奠基者和開(kāi)拓者,對(duì)漢族的發(fā)展以及中國(guó)的統(tǒng)一有突出貢獻(xiàn)。','還沒(méi)','湖南省,簡(jiǎn)稱“湘”,是中華人民共和國(guó)省級(jí)行政區(qū),省會(huì)長(zhǎng)沙,界于北緯24°38′~30°08′,東經(jīng)108°47′~114°15′之間,東臨江西,西接重慶、貴州,南毗廣東、廣西,北連湖北,總面積21.18萬(wàn)平方千米。']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==’你好,請(qǐng)幫我查閱一下劉邦的簡(jiǎn)介’): send_Message(list4[0]) elif(text=='你吃中飯了沒(méi)'): send_Message(list4[1]) elif(text=='介紹一下湖南唄!'): send_Message(list4[2]) except Exception as e: pass
在運(yùn)行代碼的過(guò)程當(dāng)中,會(huì)在手機(jī)上自動(dòng)安裝一些東東,同意安裝即可。運(yùn)行結(jié)果:
運(yùn)用python實(shí)現(xiàn)自動(dòng)回復(fù)QQ消息
5. 總結(jié)到此這篇關(guān)于python自動(dòng)化實(shí)現(xiàn)自動(dòng)回復(fù)QQ消息的文章就介紹到這了,更多相關(guān)python 自動(dòng)回復(fù)QQ內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. javascript實(shí)現(xiàn)貪吃蛇小練習(xí)2. Java commons-httpclient如果實(shí)現(xiàn)get及post請(qǐng)求3. Vue 實(shí)現(xiàn)對(duì)quill-editor組件中的工具欄添加title4. JavaScript實(shí)現(xiàn)簡(jiǎn)單的彈窗效果5. Vue的props父?jìng)髯拥氖纠a6. PHP單件模式和命令鏈模式的基礎(chǔ)知識(shí)7. 我所理解的JavaScript中的this指向8. 一文帶你徹底理解Java序列化和反序列化9. PHP利用curl發(fā)送HTTP請(qǐng)求的實(shí)例代碼10. PHP驗(yàn)證碼工具-Securimage

網(wǎng)公網(wǎng)安備