Python 微信送她99朵玫瑰花

前言: 我不喜歡在電腦上安裝微信客戶端,如有需要,就直接在瀏覽器登錄網頁版微信。今天在思考問題時遇見他們在羣裏刷屏,咚咚咚…的響,突然想到能不能寫一個自動發消息(刷屏)的程序,就想到了送出99朵玫瑰,從1朵送到99朵。

微信網頁版: https://wx2.qq.com/

工具: Python+selenium,Goole瀏覽器

思路:

  1. 打開網頁版微信
  2. 手機微信掃碼登錄
  3. 使用搜索框搜索微信好友
  4. 點擊表情包
  5. 循環點擊玫瑰花
  6. 達到條件後點擊發送按鈕
  7. 條件判斷,滿足則繼續循環,否則發送文字並結束循環

源碼彙總如下:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
driver.implicitly_wait(5)
chrome_option = webdriver.ChromeOptions()
chrome_option.add_argument('--proxy--server=127.0.0.1:8080')#使用代理IP,告訴服務器這是人爲操作

driver.get('https://wx2.qq.com/')#打開網頁版微信
time.sleep(10)

search = driver.find_element_by_xpath('//*[@id="search_bar"]/input')#查找搜索框
search.click()#點擊搜索框
time.sleep(1)
name = input("請輸入微信好友:")
num = int(input("請輸入發送的數量:"))
search.send_keys(name)#輸入微信好友搜索
time.sleep(6)#等待加載好友
search.send_keys(Keys.ENTER)#默認點擊第一個好友

global count#
count = 0
def start():
    driver.find_element_by_xpath('//*[@id="tool_bar"]/a[1]').click()#點擊表情包
    rose()
def rose():
    global count
    count = count + 1
    run = 0#利用主函數原理重置run
    while run < count:
        #點擊玫瑰
        driver.find_element_by_xpath('//*[@id="mmpop_emoji_panel"]/div/div/div[1]/div[1]/div/a[64]').click()
        run = run + 1
    print ("已發送%s支玫瑰"%count) 
    driver.find_element_by_xpath('//*[@id="chatArea"]/div[3]/div[3]/a').click()#點擊發送
    if count < num:
        start()
    else:
        driver.find_element_by_xpath('//*[@id="editArea"]').send_keys("已爲小主獻上%s朵玫瑰!"%num)#輸入文字
        driver.find_element_by_xpath('//*[@id="chatArea"]/div[3]/div[3]/a').click()#點擊發送
        print ("第%s朵玫瑰已經爲你送出!"%num)
if __name__ == '__main__':
    start()

運行結果:

請輸入微信好友:XXX
請輸入發送的數量:9
已發送1支玫瑰
已發送2支玫瑰
已發送3支玫瑰
已發送4支玫瑰
已發送5支玫瑰
已發送6支玫瑰
已發送7支玫瑰
已發送8支玫瑰
已發送9支玫瑰
第9朵玫瑰已經爲你送出!

微信截圖:
在這裏插入圖片描述

祝福:願天下有情人終成眷屬!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章