python小工具—窗口轰炸

窗口轰炸

  • 效果展示
  • 工具准备
  • 功能实现
    • 获取鼠标位置
    • 模拟鼠标点击指定位置
    • 模拟复制粘贴
  • 完整代码

效果展示

代码效果仅属娱乐,切勿影响他人,此次以自己微信的文件传输助手作为演示,可自定义输入想要重复的信息、重复次数,进行窗口轰炸。
python小工具—窗口轰炸_第1张图片

工具准备

这次主要用到的是pyautogui ,pyautogui 是一个纯 Python 的 GUI 自动化工具,通过它可以让程序自动控制鼠标和键盘的一系列操作来达到自动化测试的目的。

// 自动化
pip install pyautogui
// 复制粘贴
pip install pyperclip

功能实现

获取鼠标位置

为了进行窗口轰炸,首先要定位窗口位置,这次以寻找鼠标位置代替直接寻找窗口位置。

def mouse_position():
    # 当前鼠标位置
    print(pyautogui.position())
    return pyautogui.position()

模拟鼠标点击指定位置

定位了鼠标位置后,模拟点击鼠标进入对话框输入状态。

pyautogui.click(mouse_position())

模拟复制粘贴

pyperclip.copy("示例文字")
pyautogui.hotkey("ctrl", "v")
pyautogui.typewrite("\n")  # 模拟回车输出

完整代码

import pyautogui
import pyperclip
import time


def mouse_position():
    # 当前鼠标位置
    print(pyautogui.position())
    return pyautogui.position()


def window_bombing():
    # 要说的话
    words = input("输入信息轰炸内容(1使用随机生成的信息):")
    while True:
        times = input("请输入轰炸次数(0退出):")
        if times == "0":
            break
        # 是否只有数字字符
        elif str.isdigit(times):
            print("请将鼠标移至输入窗口处停留等待")
            time.sleep(1)
            print("倒计时3s")
            time.sleep(1)
            print("倒计时2s")
            time.sleep(1)
            print("倒计时1s")
            mouse = mouse_position()
            # split("/n")把文章分成一句一句的
            for i in words.split("/n") * int(times):
                print(i)
                pyautogui.click(mouse)
                pyperclip.copy(i)
                pyautogui.hotkey("ctrl", "v")
                pyautogui.typewrite("\n")
        else:
            print("输入数据错误。")
            continue


if __name__ == '__main__':
    window_bombing()

你可能感兴趣的:(python,python,开发语言)