Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Джубен Бабеков Ученик (106), открыт 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) # Задержка перед следующим запуском
4 ответа
Матвей Гроноский Профи (655) 2 дня назад
ема ты умный нинаю я не шарю
Пользователь . Гуру (4391) 2 дня назад
Попробуй увеличить задержки между действиями. Иногда система может не успевать вставлять текст из буфера, поэтому добавь немного времени после pyautogui.hotkey('ctrl', 'v').

Также убедись, что текст действительно в буфере обмена. Если ты копируешь текст вручную, попробуй добавить проверку, чтобы убедиться, что текст скопировался. Если проблема сохраняется, можно попробовать перезапустить компьютер или приложение, с которым работаешь. Иногда помогает просто перезагрузка.
Джубен БабековУченик (106) 2 дня назад
вообще ничего не помогает, создаю файл, запускаю все работает, выключаю, запускаю его по новой, перестает вставлять текст, создаю новый файл и вставляю этот же код, снова работает а потом перестает и так по кругу
Касьян Просветленный (25766) 2 дня назад
pyautogui это не очень надежная штука, вообще телеграм боты делаются с помощью Aiogram или похожей библиотеки,
Джубен БабековУченик (106) 2 дня назад
Это не бот, просто скрипт который управляет клавиатурой и мышкой
PS Просветленный (22525) 2 дня назад
Попробуй увеличить задержки, особенно после клика и перед ctrl+v. Добавить проверку активного окна. Может быть, использовать pyperclip для большей надежности работы с буфером. Экспериментировать с паузами, смотреть на реакцию конкретного приложения. А не писать полотно текста после того, как скрипт два раза споткнулся. Проблема явно где-то в таймингах или потере фокуса.
Похожие вопросы