112 lines
3.3 KiB
Plaintext
112 lines
3.3 KiB
Plaintext
{
|
|
"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
|
|
}
|