Vertauscht PyUserInput die Reihenfolge von Ereignissen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
erbsenhirn
User
Beiträge: 3
Registriert: Sonntag 25. November 2012, 15:13

Ich würde gerne Code schreiben, der Text von einem Fenster kopiert und in ein Formular schreibt. Aber dieser Code schreibt den Text irgenwie, bevor er in das Formular clickt. Es schreibt auch manchmal nicht den richtigen Text aus dem Zwischenspeicher, obwohl das manuell geht. Wo liegt hier der Fehler? Danke :)


Code: Alles auswählen

from pymouse import PyMouse
from pykeyboard import PyKeyboard
import clipboard

m = PyMouse()
k = PyKeyboard()

x_dim, y_dim = m.screen_size()

## click in File
m.click(x_dim*3/4, y_dim/2, 1)

## Ctrl a
k.press_key(k.control_key)
k.tap_key('a')
k.release_key(k.control_key)

## Ctrl c
k.press_key(k.control_key)
k.tap_key('c')
k.release_key(k.control_key)

## put it in clipboard
text = clipboard.paste()

## click in form
m.click(x_dim/4, y_dim/2, 1)

## write clipboard and text into form and tab through elements
k.type_string(text)
k.tap_key(k.tab_key)
k.type_string('hello')
k.tap_key(k.tab_key)
k.type_string('test')
BlackJack

@erbsenhirn: Schlag mal nach was „paste” heisst und vergleiche das mit dem Kommentar über der Zeile und dann denk mal ganz scharf darüber nach warum vor dem zweiten simulierten Mausklick eingefügt wird.
erbsenhirn
User
Beiträge: 3
Registriert: Sonntag 25. November 2012, 15:13

ich seh was du meinst, aber paste gibt keinen text aus, sondern schreibt nur den Zwischenspeicher in die Variable text.
das eigentliche ausgeben macht dann type_string(text)
BlackJack

@erbsenhirn: Für die Namensgebung sollte man den Autoren des Moduls hauen. :evil:
erbsenhirn
User
Beiträge: 3
Registriert: Sonntag 25. November 2012, 15:13

haha, hast du trotzdem eine idee woran das liegen könnte?
Antworten