- UID
- 183044
- 帖子
- 93
- 主題
- 14
- 精華
- 0
- 積分
- 17
- 楓幣
- 210
- 威望
- 12
- 存款
- 0
- 贊助金額
- 0
- 推廣
- 0
- GP
- 17
- 閱讀權限
- 10
- 性別
- 保密
- 在線時間
- 95 小時
- 註冊時間
- 2017-3-24
- 最後登入
- 2024-7-28
|
johnjohn0321 發表於 2023-7-17 11:25
import pyautogui
import time
我使用您提供的,配合使用某按鍵精靈,還是會被測謊,請問能指點一下嗎? 還是說按鍵那邊也要調整呢? (因為我使用直接錄製播放的按鍵精靈,無法調整延遲ms之類的指令) 以下是我更改大大您的程式碼,請指點 謝謝您QQ
import pyautogui
import time
import random
import keyboard
def record_actions():
actions = []
print("準備錄製,按下 Ctrl+V 開始錄製。")
keyboard.wait('ctrl+v') # 等待 Ctrl+V 被按下
print("開始錄製,按下 Ctrl+X 停止錄製。")
try:
while True:
x, y = pyautogui.position()
action = {'timestamp': time.time(), 'x': x, 'y': y}
actions.append(action)
time.sleep(0.1) # 等待 0.1 秒
except KeyboardInterrupt:
print("錄製結束。")
return actions
def click_with_random_delay(x, y):
pyautogui.moveTo(x, y)
time.sleep(random.uniform(0.5, 1.5)) # 隨機等待0.5到1.5秒
pyautogui.click()
def replay_actions(actions):
print("準備重放錄製的動作,按下 Ctrl+V 開始重放。")
keyboard.wait('ctrl+v') # 等待 Ctrl+V 被按下
print("開始重放錄製的動作,按下 Ctrl+X 停止重放。")
try:
while True: # 加入無窮迴圈
for action in actions:
pyautogui.moveTo(action['x'], action['y'])
time.sleep(0.1) # 等待 0.1 秒
# 進行一系列點擊動作
for i in range(5):
x = random.randint(100, 500) # 隨機生成x座標
y = random.randint(100, 500) # 隨機生成y座標
click_with_random_delay(x, y)
except KeyboardInterrupt:
print("重放結束。")
# 設定全局熱鍵 Ctrl+X 來觸發 KeyboardInterrupt 事件
keyboard.add_hotkey('ctrl+x', lambda: keyboard.press_and_release('ctrl+c'))
# 錄製動作
actions = record_actions()
# 重放動作
replay_actions(actions)
|
|