raider69780
Anmeldungsdatum: 4. Mai 2017
Beiträge: Zähle...
|
Hallo Forum, ich suche ein Script / Programm womit ich die händiche Texteingabe simulieren kann.
Ich möchte dass ein bestimmter Text in ein Textfeld eingefügt wird, sodass die Eingabe so aussieht, als ob der Text von Hand getippt wurde.
Per Konsole bekomm ich diesen Vorgang mit "pv" oder "randtype" realisiert, aber leider nicht wenn ich den Text dann in einen Texteditor oder Browser einfügen möchte.
Ich habe versucht ein Shellscript zu erstellen und dieses dann mit einen Shortcut ausführen zu lassen, aber dass möchte alles nicht so klappen. Mein Versuch mit Shellscript per Shortcut:
#!/bin/bash
printf "blablabla" | randtype -m 4 Wenn ich das Script ausführe, klappt es genau so wie ich es mir vorstelle, aber halt auch nur in der Konsole
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12802
|
raider69780 schrieb: Hallo Forum,
Herzlich willkommen hier im Forum!
Wenn ich das Script ausführe, klappt es genau so wie ich es mir vorstelle, aber halt auch nur in der Konsole
Was willst Du denn? Wo willst Du die simulierten Tasteneingaben machen?
|
mrkramps
Anmeldungsdatum: 10. Oktober 2006
Beiträge: 5523
Wohnort: south central EL
|
Mit xdotool sollte sich das auch in XServer-Sitzung umsetzen lassen.
|
raider69780
(Themenstarter)
Anmeldungsdatum: 4. Mai 2017
Beiträge: 6
|
Hallo, ich möchte die Texteingabe in Firefox haben. In der Textbox einer Webseite, die gerade angewählt ist.
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
raider69780 schrieb: ... Texteingabe in Firefox haben. In der Textbox einer Webseite, die gerade angewählt ist.
Oha, das ist ziemlich was anderes. Kann sein, dass das mit den üblichen Maus- und Tastatur-Steuerprogrammen auch geht, aber von der Sache her wird das ein HTML-Formular sein. Und das kannst Du viel besser direkt als HTML-Form abschicken (wie das im Prinzip geht, hat Vain dort sehr gut beschrieben !). Ansonsten könntest Du unter den Stichworten HTML Form script nochmal hier oder in den Weiten des Netzes selber weiter nachforschen. Oder Du verrätst uns die URL, dann können wir mal probieren, was da geht. LG, track
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11176
Wohnort: München
|
raider69780 schrieb: ich möchte die Texteingabe in Firefox haben. In der Textbox einer Webseite, die gerade angewählt ist.
Dann könnte Selenium etwas für dich sein: http://www.seleniumhq.org/
|
raider69780
(Themenstarter)
Anmeldungsdatum: 4. Mai 2017
Beiträge: 6
|
Hallo Profis, danke für die Ansätze.
Habe es mit xdotool+xclip fast so wie ich es haben möchte. Mein Script: | #!/bin/bash
xdotool sleep 0.5 type --delay 500 "$(xclip -o -selection clipboard)"
|
und dann auf eine Taste gebindet.
Der Text wird wie von Hand geschrieben aus der Zwischenablage eingefügt. Kann man das Script jetzt noch mit "pv" oder "randtype" ergänzen, sodass der Text mit Schreibfehlern/Korrektur wiedergegeben wird? Oder gibt es andere Möglichkeiten? Danke für Eure Hilfe.
|
raider69780
(Themenstarter)
Anmeldungsdatum: 4. Mai 2017
Beiträge: 6
|
OK: hiermit gehts: | #!/bin/bash
xdotool type --delay 500 "$(xclip -o -selection clipboard | randtype -m 4)"
|
aber die Ausgabe ist um 5-10 sek. verzögert
Kann jemand optimieren?
|
raider69780
(Themenstarter)
Anmeldungsdatum: 4. Mai 2017
Beiträge: 6
|
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
raider69780 schrieb: Kann jemand optimieren?
Dazu müsstest Du
uns genau verraten, was jetzt nicht funktioniert, und wie es funktionieren sollte - und dann uns eine Test-URL geben, wo wir die Probleme nachvollziehen können, und überhaupt mal was reell testen können.
Nicht wahr ? raider69780 schrieb: PUSH Kann keiner helfen?
Witzbold ! - wie gesagt: Du solltest erstmal verraten was Du möchtest, usw ... dann erst haben wir die Möglichkeit, Dir zu helfen. LG, track
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11176
Wohnort: München
|
raider69780 schrieb: | #!/bin/bash
xdotool type --delay 500 "$(xclip -o -selection clipboard | randtype -m 4)"
|
aber die Ausgabe ist um 5-10 sek. verzögert
Kann jemand optimieren?
raider69780 schrieb: Kann keiner helfen?
Du kannst die Manpage von randtype und die Dokumentation der Bash eigentlich selber lesen und darüber nachdenken, was passiert. Die Command Substitution wird zuerst ausgeführt. Erst wenn die Befehle darin ausgeführt wurden, wird der xdotool-Befehl ausgeführt. Die Zeitspannen für die randomisierte Verzögerung durch randtype kannst du anpassen (schau dir mal das Argument -t in der Manpage an) und statt der Command Substitution kannst du die Ausgabe von randtype auch per Pipe an das xdotool weiterleiten:
| xclip -o -selection clipboard | randtype -m4 -t 5,1600 | xdotool type --delay=100 -f -
|
Edit: -t 0,0 scheint da am sinnvollsten zu sein, anscheindend wird die Ausgabe von randtype gebuffert und weder unbuffer noch stdbuf scheinen da einen Unterschied beim Verhalten zu machen.
|
raider69780
(Themenstarter)
Anmeldungsdatum: 4. Mai 2017
Beiträge: 6
|
Wahnsinn. Danke. So wie ich es haben wollte ☺
|