HTML Formulare auf einmal per Copy/Paste ausfüllen (MacOS)

Thread Status
Hello, There was no answer in this thread for more than 30 days.
It can take a long time to get an up-to-date response or contact with relevant users.

Wuxi

NF-Platin Mitglied
Platin
Registriert
Hallo Ihr Wissenden
ich möchte gerne ein Web-Formular mit mehreren Feldern ausfüllen.
System: MacOS

Zwischen den Feldern des Formulars kann man mit TAB wechseln.
Jetzt würde ich gerne den kompletten Inhalt auf einmal in alle Felder hineinkopieren.

Also in Textedit habe ich geschrieben "Wuxi - TAB - Frank - TAB - Wuxistrasse - TAB - ..." dann COPY
Dann wechsle ich in das Formular sage PASTE ..... und es klappt nicht.

Kennt Ihr einen Weg?

Gruß
Frank
 
Anzeigen
.

Guck Dir mal "Automator" (in Programme) und "Script-Editor" (in Dienstprogramme) an.
Ersteres könnte Deinen Wunsch erfüllen, so scheint es mir nur kurzem Check der Hilfe.
Zweites verlangt gewisse Programmier-Kenntnisse, deucht mir …

.
 
1 Kommentar
Wuxi
Wuxi kommentierte
Bin jetzt gerade bei der App Kurzbefehle auf dem iPad.
Kann da zwar Text in die Zwischenablage schreiben, aber auch kein TAB.
 
schaumal bei Youtube rein Suche: Interaktive Formulare mit Mac erstellen
 
1 Kommentar
Wuxi
Wuxi kommentierte
Danke Dir. Ich will aber das Umgekehrte. Das Formular mit ca 10 Feldern gibt es schon online und will es nur wiederholt so schnell wie möglich komplett ausfüllen.

c&p macht aus den Tabs (ASCI 9) leider einfach nur Leerzeichen und kopiert somit den ganzen Inhalt in das erste Feld statt von Feld zu Feld zu springen.
 
Eigentlich ist die Frage: wie schreibe ich ein ASCII Code 9 in bzw. aus der Zwischenablage.
 
1 Kommentar
falconeye
falconeye kommentierte
Nein, Du verstehst das Problem nicht.
CMD-V fügt Text aus dem Clipboard in ein Eingabefeld ein. Das ist Hotkey #1.
TAB wechselt in das nächste Eingabefeld. Das ist Hotkey #2.
Ein Tab-Char im Clipboard hat keinerlei Hotkey-Funktion, es ist einfach nur ein Zeichen.

Eine kommerziell erstellte Website für einen anspruchsvollen Kunden könnte das Clipboard nach Sonderzeichen parsen, z.B. Tab-Chars (oder ,;| whatever), und dies nutzen, um Fragmente auf Eingabefelder zu verteilen. So etwas kann der Website-Programmierer anbieten, unabhängig von Browser und OS.

Ich kenne solche Kunden, aber keine öffentlich zugänglichen Websites mit diesen Features "in the Wild" ;)
 
Vielleicht ein Bookmark mit Java Code setzen der das dann alles Einfüllt.
Ich habe so ein Bookmark mit der Funktion beim iPad auf einer Seite ganz nach unten zu scrollen.

Wenn man nur Java könnte....
 
P
promike kommentierte
Würde Wuxi den Vorschlag von mhensche empfehlen.

Aber neugierig: Ich habe einen "quick-and-dirty" Hack (nix zum Essen) mit einem Bookmarklet welches die ersten X Textfelder mit den Daten aus dem Clipboard ausfüllt.
Habe es mal hier im Forum auf meiner Profilseite ausprobiert, das Problem ist allerdings das Finden der korrekten Textfelder.
Prinzipiell funktionierts, nur nicht auf jedem Browser. Chromium unter Ubuntu geht, Firefox kann aus dem Clipboard nicht lesen nur schreiben.

Auch moderne Frameworks nutzen HTML Forms, sollte also an sich kein Problem sein.
CORS ist hier kein Problem.
 
falconeye
falconeye kommentierte

Ja, übrigens ist
Code:
javascript:scroll(0,document.querySelector('body').scrollHeight)
noch eleganter ;)

Gut, wenn CORS hier nicht zuschlägt - immerhin hat das JavaScript eine andere Origin als die Site ...

Ob der Vorschlag von mhensche ne Chance hat, hängt davon ab, ob die HTML-Felder kein autocomplete="false" annotiert haben ...
 
falconeye
falconeye kommentierte

Also die Seite generiert input-Elemente, die man so finden kann:
Code:
document.querySelector("input[name='ets-input-code-0']")
etc. Könnte man also als Bookmarklet darstellen, wenn das restliche Javascript auf der Site das mitmacht ...
 
P
promike kommentierte
Ah, OK. Sind die alle mit type "text"?

Das Problem aber ist das Lesen aus dem Clipboard, das was in Chrome geht wird vom Firefox und offenbar vom Safari nicht unterstützt.
 
P
promike kommentierte
Hier mal mein Ansatz, ich kenne die Seite nicht, daher weiss ich nicht, ob ich die Textfelder so erwische.

Firefox scheint die Verwendung von readText einzuschränken, Safari sollte es unterstützen, aber mangels AppleOS kann ich,
dies nicht testen.

Javascript:
javascript: (() => {
    const isVisible = el =>
        el.offsetHeight && el.offsetWidth
        && window.getComputedStyle(el).visibility != "hidden";
    
    const types = ["text", "textarea", "url", "search", "date"];

    const tFields = Array
        .from(document.getElementsByTagName("input"))
        .filter(f => (types.includes(f.type) && isVisible(f)));

    navigator.clipboard.readText().then(
        text => {
            text.split("\t").forEach((v, i) => {
                if (i < tFields.length) tFields[i].value = v;
            });
        }
    ).catch(err => window.alert(err));
})()
 
ich möchte gerne ein Web-Formular mit mehreren Feldern ausfüllen.
[...]
Dann wechsle ich in das Formular sage PASTE ..... und es klappt nicht.
Das geht nicht. In keinem Browser und mit keinem OS. Ist nicht vorgesehen.

Wenn Du ein HTML-Formular wiederholt ausfüllen musst, und mit variablen Daten, so geht dies dann, falls es sich um ein Standard HTML-Formular (HTTP-POST Request) handelt. Wenn die Daten aber per JavaScript im Browser aufbereitet und geschickt werden (inzwischen der Normalfall), so geht es gar nicht, wenn Du kein eigenes JS-Programm schreiben willst.

Aber bei einem Standard-HML-Formular kannst Du das macOS Terminalkommando
Code:
curl --help
benutzen. Damit kannt Du die einzelnen Felder mit Werten belegen und abschicken.

Im Geschäftsumfeld, wo solche Dinge häufig sind, bieten viele Webserver auch eine spezielle Version ihrer Seiten an, REST-API genannt. Z.B. hier zu sehen: https://cat-fact.herokuapp.com/facts/random?animal_type=cat&amount=2 . Meist geschieht der Austausch dann per JSON oder XML statt HTML.

Auch solche REST-APIs lassen sich per
Code:
curl
nutzen, selbst, wenn die normale Website dies wegen JavaScript nicht zulässt.

Aber einfaches Copy-n'Paste: Vergiss es ...

Also: Wenn Du Tausende Seiten abschicken musst, gibt es hierfür Lösungen. Für ein Dutzend: mach es zu Fuß.
 
Zuletzt bearbeitet:
Kommentar
Hi, vielleicht nicht ganz das Gewünschte: Chrome kann "autofill". Wie das genau geht, musst du googlen. Aber immer wenn ich Formulare angeboten bekomme, bietet Chrome mir an, diese mit meinen Adressdaten zu füllen. Und macht das dann, je nach Formular, relativ zuverlässig. Also, Name, Straße, Wohnort, PLZ, Tel. passt eigentlich immer.
Vielleicht wäre das ein Weg?
 
2 Kommentare
P
promike kommentierte
das ist vermutlich die einfachste Lösung, zumal wenn du das Formular einmalig auf der "richtigen" Seite ausfüllst
 
Wuxi
Wuxi kommentierte
Das schaue ich mir mal an!
 
.

Also nur zur Info:
Safari kann Formulare automatisch ausfüllen … :cool:

Für die hier gefragte Aufgabe stehen gleich zwei
Optionen zur Verfügung – es gibt ingesamt vier:
a) Info von meinen Kontakten verwenden
b) Andere Formulare

Näheres nennt die Safari-Hilfe, leider ohne Erklärung
der Option b) – wobei ich stark annehme, daß dort
der Schlüsselbund individualisiert genutzt wird …


Letztlich läuft es darauf hinaus, daß man in Kontakte
einen neuen erstellt, der sämtliche gewünschte Daten
für das von @Wuxi genannte 10-Felder-Formular
enthält.

Vermutlich funktioniert aber auch b) dergestalt, daß
man einmal besagtes Formular ausfüllt und dann die
Daten für "Andere Formulare" sichern kann, was ich
schwer annehme.
.
 
Kommentar
-Anzeige-
Zurück
Oben Unten