动态 版块 发帖 消息 我的
Loading...
HadSky
支持原创软件,共创美好明天!
qq446825518
创始人Lv4   
PYthon代替按键精灵脚本,屎山代码看得懂     

import pandas as pd     #加载 pandas,读 Excel 必须用

import pyautogui

import time

import keyboard

import datetime


# =========================

# 辅助函数:RGB转16进制

# =========================

def rgb2hex(r, g, b):

    return "{:02X}{:02X}{:02X}".format(r, g, b)


# =========================

# 读取 Excel

# =========================

print("读取 Excel 文件...")

df = pd.read_excel(r"D:\按键精灵\更改包装描述.xlsx")  #读取 Excel 并把数据放到 df 里面

print("读取完成,共", len(df), "行")


print("按 F10 开始脚本,F12 停止...")

keyboard.wait("F10")

print("脚本开始!")


row = 0


# =========================

# 开始处理每一行

# =========================

while row < len(df):


    # 检查 F12 停止

    if keyboard.is_pressed("F12"):

        print("检测到 F12,脚本停止")

        break


    # 读取表中的信息,转换为变量====sku_value, desc_value,ok_value

    sku_value = str(df.iloc[row]["SKU"])

    desc_value = str(df.iloc[row]["描述"])

    ok_value = str(df.iloc[row]["OK"])

    # =====================


    print("处理第", row, "行...")


    # =如果表格中标记了OK就不处理了====

    if ok_value == "OK":

        print("已 OK,跳过")

        row += 1

        continue

    # =====================


    # =====================

    # 第 1 步:点击 SKU 输入框(129,160)(所有第一步都是判断坐标的颜色是否一致,否则就一直等待)

    # =====================

    while True:

        r,g,b = pyautogui.pixel(129,160)

        color_hex = rgb2hex(r,g,b)

        if color_hex == "FFFFFF":

            break

        print("SKU 输入框颜色不是 FFFFFF,等待中...")

        time.sleep(0.5)

    pyautogui.click(129,160)

    time.sleep(0.3)

    pyautogui.typewrite(sku_value, interval=0.05)    #输入变量信息sku_value,并等待0.05秒


    # =====================

    # 第 2 步:点击搜索按钮(812,133)(所有第一步都是判断坐标的颜色是否一致,否则就一直等待)

    # =====================

    while True:

        r,g,b = pyautogui.pixel(812,133)

        color_hex = rgb2hex(r,g,b)

        if color_hex == "FFFFFF":

            break

        print("搜索按钮颜色不是 FFFFFF,等待中...")

        time.sleep(0.5)

    pyautogui.click(812,133)

    time.sleep(0.5)


    # =====================

    # 第 3 步:点击描述输入框(351,483)(所有第一步都是判断坐标的颜色是否一致,否则就一直等待)

    # =====================

    while True:

        r,g,b = pyautogui.pixel(351,483)

        color_hex = rgb2hex(r,g,b)

        if color_hex == "FFFFFF":

            break

        print("描述输入框颜色不是 FFFFFF,等待中...")

        time.sleep(0.5)

    pyautogui.click(351,483)

    time.sleep(0.3)

    pyautogui.typewrite(desc_value, interval=0.05)      #输入变量信息desc_value,并等待0.05秒


    # =====================

    # 第 4 步:键盘按回车

    # =====================

    pyautogui.press("enter")

    time.sleep(0.5)


    # =====================

    # 第 5 步:点击应用按钮(907,507)(颜色判断 + 报错处理)

    # =====================

    while True:

        # 获取按钮颜色

        r,g,b = pyautogui.pixel(907,507)

        color_hex = rgb2hex(r,g,b)

        success_color = "FFFFFF"  # 预期颜色


        if color_hex == success_color:

            print("应用按钮点击成功,继续下一步")

            break  # 成功,跳出循环

        else:

            print("点击应用报错,按回车并重试...")

            # 第1步:按回车

            pyautogui.press("enter")

            time.sleep(0.2)

            # 第2步:再点击按钮

            pyautogui.click(907,509)  # 报错备用坐标

            time.sleep(0.5)


    # =====================

    # 第 6 步:点击保存并重复按钮(661,642)(所有第一步都是判断坐标的颜色是否一致,否则就一直等待)

    # =====================

    while True:

        r,g,b = pyautogui.pixel(661,642)

        color_hex = rgb2hex(r,g,b)

        if color_hex == "FFFFFF":

            break

        print("保存并重复按钮颜色不是 FFFFFF,等待中...")

        time.sleep(0.5)

    pyautogui.click(661,642)

    time.sleep(0.5)


    # =====================

    # 第 7 步:标记 Excel

    # =====================

    df.at[row, "OK"] = "OK"

    print("第", row, "行完成")

    row += 1


# =====================

# 第 8 步:保存结果

# =====================

# 使用时间戳防止覆盖

文件名 = datetime.datetime.now().strftime(r"D:\按键精灵\处理结果_%Y%m%d_%H%M%S.xlsx")

df.to_excel(文件名, index=False)

print("脚本全部完成!已保存为", 文件名)


 0  已被阅读了8次  楼主 2025-11-22 11:12:30
回复列表

回复:PYthon代替按键精灵脚本,屎山代码看得懂

guest
登录之后更精彩~
Powered by HadSky 7.1.1
© 2015-2025 PuYueTian
您的IP:216.73.216.38,2025-12-06 12:08:44,Processed in 0.02676 second(s).
Powered by HadSky
© 2012 - 2022 壹素天财 版权所有