python 操作键盘,鼠标 。我这个是自动企业微信加好友的,源码可以修改成别的。挺好使!

python 操作键盘,鼠标 。我这个是自动企业微信加好友的,源码可以修改成别的。挺好使!

键盘的按键码可以去百度搜,大体就是这么操作的

import win32con
import win32api
import win32gui
import time
import xlrd
import xlwt
import win32clipboard


#点击键盘的f键,其中70是f虚拟键码
def key(key):
    win32api.keybd_event(key,0,0,0)     #代表按下f键
    time.sleep(0.02)
    win32api.keybd_event(key, 0, win32con.KEYEVENTF_KEYUP, 0)  #释放f键


def ctrlA():
    #按下ctrl+a,全选
    #17为ctrl键码值,65为a的键码值
    win32api.keybd_event(17,0,0,0)
    win32api.keybd_event(65,0,0,0)
    win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
    win32api.keybd_event(65, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(1)


def ctrlC():
    #按下ctrl+c,67键码值为c
    win32api.keybd_event(17,0,0,0)
    win32api.keybd_event(67,0,0,0)
    win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
    win32api.keybd_event(67, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(1)


def ctrlV():
    #按下ctrl+v
    win32api.keybd_event(17,0,0,0)
    win32api.keybd_event(86,0,0,0)  
    win32api.keybd_event(17, 0, win32con.KEYEVENTF_KEYUP, 0)
    win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(1)

#鼠标现在屏幕上方的位置
def getMouse():
    pos = win32gui.GetCursorPos()     
    print(pos)
#鼠标移动
def move(x,y):
    win32api.SetCursorPos((x,y))                               

#鼠标左点击
def leftClick():
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN | win32con.MOUSEEVENTF_LEFTUP,0,0,0,0)


#鼠标右点击
def rightClick():
    win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN | win32con.MOUSEEVENTF_RIGHTUP,0,0,0,0)


def read_excel(src):
    # 打开文件
    workBook = xlrd.open_workbook(src)

    # 1.获取sheet的名字
    # 1.1 获取所有sheet的名字(list类型)
    # allSheetNames = workBook.sheet_names()
    # print(allSheetNames)

    # 1.2 按索引号获取sheet的名字(string类型)
    # sheet1Name = workBook.sheet_names()[0]
    # print(sheet1Name)

    # 2. 获取sheet内容
    ## 2.11:按索引号获取sheet内容
    sheet1_content1 = workBook.sheet_by_index(0); # sheet索引从0开始
    ## 2.22:按sheet名字获取sheet内容
    # sheet1_content2 = workBook.sheet_by_name('Sheet1')

    # 3. sheet的名称,行数,列数
    # print(sheet1_content1.name,sheet1_content1.nrows,sheet1_content1.ncols)

    # 4. 获取整行和整列的值(数组)
    # rows = sheet1_content1.row_values(3); # 获取第四行内容
    cols = sheet1_content1.col_values(0); # 获取第1列内容
    return cols

    # 5. 获取单元格内容(三种方式)
    # print(sheet1_content1.cell(1, 0).value)
    # print(sheet1_content1.cell_value(2, 2))
    # print(sheet1_content1.row(2)[2].value)

    # 6. 获取单元格内容的数据类型
    # Tips: python读取excel中单元格的内容返回的有5种类型 [0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error]
    # print(sheet1_content1.cell(1, 0).ctype)

#把文本读取到win10的paste缓冲区
def setPaste(paste):
    # set clipboard data
    win32clipboard.OpenClipboard()
    win32clipboard.EmptyClipboard()
    win32clipboard.SetClipboardText(paste)
    win32clipboard.CloseClipboard()

#获取paste内容
def getPaste():
    # get clipboard data
    win32clipboard.OpenClipboard()
    data = win32clipboard.GetClipboardData()
    win32clipboard.CloseClipboard()
    return data

def timeSleep(s):
    time.sleep(s)

if __name__ == '__main__':
    #区分屏幕分辨率
    if(win32api.GetSystemMetrics(win32con.SM_CXSCREEN)==1920):
        print("请输入excle路径地址")
        src=input()
        print("请设置邀请语")
        invite=input()
        cols=read_excel(src)
        for col in cols:
            #1.取出第一个手机号
            print("读取手机号--"+str(int(col)))
            setPaste(str(int(col)))
            #2.移动鼠标
            move(821,436)
            timeSleep(1)
            #3.鼠标左击
            leftClick()
            #4.粘贴
            ctrlV()
            #移动到查找
            move(1116,430)
            timeSleep(1)
            leftClick()
            #睡眠三秒防止网络缓慢
            timeSleep(5)
            #移动到添加
            move(1071,535)
            timeSleep(1)
            leftClick()
            #去掉邀请语
            move(1092,497)
            timeSleep(1)
            leftClick()
            leftClick()
            #设置邀请语
            setPaste(invite)
            timeSleep(3)
            leftClick()
            ctrlV()
            #移动到发送
            move(967,578)
            timeSleep(3)
            leftClick()
            #移动到搜索框
            move(916,428)
            timeSleep(1)
            leftClick()
            ctrlA()
            key(8)
        input('回车退出程序')
    else:
        print("请输入excle路径地址")
        src=input()
        print("请设置邀请语")
        invite=input()
        cols=read_excel(src)
        for col in cols:
            #1.取出第一个手机号
            print("读取手机号--"+str(int(col)))
            setPaste(str(int(col)))
            #2.移动鼠标
            move(650,343)
            timeSleep(1)
            #3.鼠标左击
            leftClick()
            #4.粘贴
            ctrlV()
            #移动到查找
            move(876,341)
            timeSleep(1)
            leftClick()
            #睡眠三秒防止网络缓慢
            timeSleep(5)
            #移动到添加
            move(847,450)
            timeSleep(1)
            leftClick()
            #去掉邀请语
            move(853,409)
            timeSleep(1)
            leftClick()
            leftClick()
            #设置邀请语
            setPaste(invite)
            timeSleep(3)
            leftClick()
            ctrlV()
            #移动到发送
            move(700,479)
            timeSleep(3)
            leftClick()
            #移动到搜索框
            move(675,343)
            timeSleep(1)
            leftClick()
            ctrlA()
            key(8)
        input('回车退出程序')





        



 
最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码全开源版最新微信付费进群源码
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值