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朵玫瑰已经为你送出!

微信截图:
在这里插入图片描述

祝福:愿天下有情人终成眷属!!!

发布了62 篇原创文章 · 获赞 25 · 访问量 9318

猜你喜欢

转载自blog.csdn.net/ayouleyang/article/details/100586724