Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Перестает работать код после 1-2 запусков

Я запускаю данный код в пайчарме, примерно 1-2 раза он работает нормально, листает и вставляет текст, но потом он начинает только листать а текст не вставлять, в телеграмме, в командной строке также, запускаю по новой один и тот же файл, а он перестает вставлять текст, в буфере он есть, иногда срабатывает создание нового файла в пайчарме и туда закинуть код, но не всегда, подскажите что делать

import pyautogui
import keyboard
import time

# Функция для выполнения циклов
def execute_cycles(cycles):
# Цикл "вниз"
for _ in range(cycles):
pyautogui.move(0, 60) # Опускаем курсор на 60 пикселей вниз
time.sleep(0.3)
pyautogui.click () # Нажимаем левой кнопкой мыши
time.sleep(0.3)
pyautogui.hotkey('ctrl', 'v') # Вставляем текст (Ctrl+V)
time.sleep(0.3)
pyautogui.press ('enter') # Нажимаем Enter
time.sleep(2) # Задержка между циклами

# Цикл "вверх"
for _ in range(cycles):
pyautogui.move(0, -60) # Поднимаем курсор на 60 пикселей вверх
time.sleep(0.3)
pyautogui.click () # Нажимаем левой кнопкой мыши
time.sleep(0.3)
pyautogui.hotkey('ctrl', 'v') # Вставляем текст (Ctrl+V)
time.sleep(0.3)
pyautogui.press ('enter') # Нажимаем Enter
time.sleep(2) # Задержка между циклами

# Основной цикл программы
print("Нажмите F6 для запуска скрипта.")
while True:
if keyboard.is _pressed('F6'): # Проверяем, нажата ли клавиша F6
print("Скрипт запущен!")
cycles = int(input("Введите количество циклов: ")) # Запрашиваем количество циклов
execute_cycles(cycles)
print("Скрипт завершен. Нажмите F6 для повторного запуска.")
time.sleep(1) # Задержка перед следующим запуском

По дате
По рейтингу
Аватар пользователя
Просветленный
3мес

Попробуй увеличить задержки, особенно после клика и перед ctrl+v. Добавить проверку активного окна. Может быть, использовать pyperclip для большей надежности работы с буфером. Экспериментировать с паузами, смотреть на реакцию конкретного приложения. А не писать полотно текста после того, как скрипт два раза споткнулся. Проблема явно где-то в таймингах или потере фокуса.

Аватар пользователя
Просветленный
3мес

pyautogui это не очень надежная штука, вообще телеграм боты делаются с помощью Aiogram или похожей библиотеки,

Аватар пользователя
Мыслитель
3мес

Попробуй увеличить задержки между действиями. Иногда система может не успевать вставлять текст из буфера, поэтому добавь немного времени после pyautogui.hotkey('ctrl', 'v').

Также убедись, что текст действительно в буфере обмена. Если ты копируешь текст вручную, попробуй добавить проверку, чтобы убедиться, что текст скопировался. Если проблема сохраняется, можно попробовать перезапустить компьютер или приложение, с которым работаешь. Иногда помогает просто перезагрузка.

Аватар пользователя
3мес

ема ты умный нинаю я не шарю