Python mousewheel scroll simulator script

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

def parse_arguments():
    parser = argparse.ArgumentParser(description='Simuliert Mausrad-Scrolling')
    parser.add_argument('-n', '--total-steps', type=int, default=10000,
                      help='Gesamtanzahl der Scroll-Schritte (Standard: 10000)')
    parser.add_argument('-s', '--steps-per-interval', type=int, default=2,
                      help='Anzahl der Schritte pro Intervall (Standard: 2)')
    parser.add_argument('-i', '--interval', type=float, default=3,
                      help='Wartezeit zwischen Scrolls in Sekunden (Standard: 3)')
    parser.add_argument('-x', '--iterations', type=int, default=3,
                      help='Anzahl der Auf/Ab-Wiederholungen (Standard: 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}")
        
        # Scroll down
        print("Scrolle nach unten...")
        steps_done = 0
        while steps_done < total_steps:
            mouse.scroll(0, -steps_per_interval)
            steps_done += steps_per_interval
            print(f"Runter: {steps_done} von {total_steps} Schritten")
            time.sleep(interval)
            
        # Scroll up
        print("\nScrolle nach oben...")
        steps_done = 0
        while steps_done < total_steps:
            mouse.scroll(0, steps_per_interval)
            steps_done += steps_per_interval
            print(f"Hoch: {steps_done} von {total_steps} Schritten")
            time.sleep(interval)

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