{ "cells": [ { "cell_type": "code", "execution_count": 3, "id": "7cdc1ee6c3dae53d", "metadata": { "ExecuteTime": { "end_time": "2026-03-17T06:00:09.320172200Z", "start_time": "2026-03-17T05:59:15.867810200Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "正在保存第 1 张\n", "正在保存第 2 张\n", "正在保存第 3 张\n", "\n", "✅ 3张照片已全部保存到:D:\\ding_watermark\n" ] } ], "source": [ "import pyautogui\n", "import time\n", "import os\n", "\n", "# ====================== 请替换为你实际获取的坐标 ======================\n", "CARD_POS = (900, 400) # 「张阳[内部群]」卡片消息的位置\n", "IMG_POS = (820, 320) # 卡片里水印照片的中心位置\n", "SAVE_BTN_POS = (780, 620) # 另存为窗口里「保存」按钮的位置\n", "SAVE_FOLDER = r\"D:\\ding_watermark\" # 你想保存的文件夹\n", "TOTAL = 3 # 先保存3张\n", "DELAY = 2 # 操作间隔,慢一点更稳\n", "# =====================================================================\n", "\n", "# 创建保存目录\n", "if not os.path.exists(SAVE_FOLDER):\n", " os.makedirs(SAVE_FOLDER)\n", "\n", "pyautogui.PAUSE = 0.5\n", "\n", "input(\"请切到钉钉窗口,确保第一张卡片可见,按回车开始…\")\n", "\n", "for i in range(1, TOTAL + 1):\n", " print(f\"正在保存第 {i} 张\")\n", "\n", " # 1. 点击卡片,打开预览\n", " pyautogui.click(CARD_POS)\n", " time.sleep(DELAY)\n", "\n", " # 2. 右键点击图片,弹出菜单\n", " pyautogui.rightClick(IMG_POS)\n", " time.sleep(0.8)\n", "\n", " # 3. 选择「另存为」(根据你的右键菜单,可能需要按1次或2次↓)\n", " pyautogui.press('down') # 试1次,如果不对就改成 presses=2\n", " pyautogui.press('enter')\n", " time.sleep(DELAY)\n", "\n", " # 4. 输入文件名\n", " pyautogui.typewrite(f\"watermark_{i}\")\n", " time.sleep(0.5)\n", "\n", " # 5. 定位到保存目录(Alt+D 快速切地址栏)\n", " pyautogui.hotkey('alt', 'd')\n", " pyautogui.typewrite(SAVE_FOLDER)\n", " pyautogui.press('enter')\n", " time.sleep(0.5)\n", "\n", " # 6. 点击「保存」按钮\n", " pyautogui.click(SAVE_BTN_POS)\n", " time.sleep(DELAY)\n", "\n", " # 7. 关闭卡片预览\n", " pyautogui.press('esc')\n", " time.sleep(0.8)\n", "\n", " # 8. 滚动到下一张卡片\n", " pyautogui.scroll(-200, x=CARD_POS[0], y=CARD_POS[1])\n", " time.sleep(0.8)\n", "\n", "print(f\"\\n✅ 3张照片已全部保存到:{SAVE_FOLDER}\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 5 }