Script Python simulateur de défilement de molette de souris

mousewheel_simulator.py
#!/usr/bin/env python3
import time
import argparse
from pynput.mouse import Controller, Button

def parse_arguments():
    parser = argparse.ArgumentParser(description='Simule le défilement de la molette de la souris')
    parser.add_argument('-n', '--total-steps', type=int, default=10000,
                      help='Nombre total d\'étapes de défilement (par défaut : 10000)')
    parser.add_argument('-s', '--steps-per-interval', type=int, default=2,
                      help='Nombre d\'étapes par intervalle (par défaut : 2)')
    parser.add_argument('-i', '--interval', type=float, default=3,
                      help='Temps d\'attente entre les défilements en secondes (par défaut : 3)')
    parser.add_argument('-x', '--iterations', type=int, default=3,
                      help='Nombre de répétitions Haut/Bas (par défaut : 1)')
    return parser.parse_args()

def simulate_mouse_scroll(total_steps, steps_per_interval, interval, iterations):
    mouse = Controller()

    for iteration in range(iterations):
        print(f"\nIteration {iteration + 1}/{iterations}")

        # Défiler vers le bas
        print("Défilement vers le bas...")
        steps_done = 0
        while steps_done < total_steps:
            mouse.scroll(0, -steps_per_interval)
            steps_done += steps_per_interval
            print(f"Bas : {steps_done} sur {total_steps} étapes")
            time.sleep(interval)

        # Défiler vers le haut
        print("\nDéfilement vers le haut...")
        steps_done = 0
        while steps_done < total_steps:
            mouse.scroll(0, steps_per_interval)
            steps_done += steps_per_interval
            print(f"Haut : {steps_done} sur {total_steps} étapes")
            time.sleep(interval)

if __name__ == "__main__":
    args = parse_arguments()
    simulate_mouse_scroll(
        args.total_steps,
        args.steps_per_interval,
        args.interval,
        args.iterations
    )

Check out similar posts by category: Python