Hallo,
ich habe für die CWA (CoronaWarnApp) beim Probezugang für die Befüllung der Webseite zur Patientendatenerfassung ein Applescript geschrieben.
Das funktioniert ganz gut. Manchmal verschieben sich die Felder ein wenig beim erstmaligen Start. Click man auf `Abbrechen` und probiert es nochmal, sollte es funktionieren. Es ist ein Applescript und der Einfachheit halber habe ich viel mit Tabulatoren gearbeitet. Das sind dann eben die Nachteile eines Applescriptes. Mit Javascript könnte man die Felder direkt befüllen ... aber das ist dann eher etwas für zollsoft ...
Achtung:
Das Skript aktiviert den Firefox-Browser. Das kann leicht geändert werden auf den verwendeten Browser (in Befehlszeile 2).
Das Skript muss in jedem Fall bei der Ortsvorwahl geändert werden. Derzeit ist in Zeile 86 die 4462 für meine Ortsvorwahl in Wittmund eingetragen. Das muss natürlich auf Ihre Ortsvorwahl angepaßt werden.
Es kann durchaus sein, dass seitens T-Systems noch Änderungen in die Datenerfassung eingepflegt werden. Das wurde beim Onboarding-Webmeeting angekündigt und ist auch so in der zurückliegenden Woche bereits passiert. Daher muss das Script wohl versioniert werden. Karteieintragsbutton kann man sich vom CWA-Buttom der T-Systems Homepage kopieren und ins Button-Feld im tomedo ziehen.
Aktueller Stand: Version 1.0 07.08.2021.
Und hier das Apple-Skript:
tell application "System Events"
tell application "/Applications/Firefox.app" to activate
key code 48
delay 0.1
keystroke (key code 49)
delay 0.1
keystroke (key code 48)
delay 0.1
set formGivenNameInput to "$[patient_vorname]$"
repeat with chr_vorname in formGivenNameInput
keystroke chr_vorname
delay 0.02
end repeat
delay 0.1
key code 48
delay 0.3
set formNameInput to "$[patient_name]$"
repeat with chr_nachname in formNameInput
keystroke chr_nachname
delay 0.02
end repeat
delay 0.1
key code 48
delay 0.3
set formStandardGivenNameInput to "$[patient_vorname]$"
repeat with chr_vorname in formStandardGivenNameInput
keystroke chr_vorname
delay 0.02
end repeat
delay 0.1
key code 48
delay 0.3
set formStandardNameInput to "$[patient_name]$"
repeat with chr_nachname in formStandardNameInput
keystroke chr_nachname
delay 0.02
end repeat
delay 0.1
key code 48
delay 0.3
set formDateOfBirthInput to "$[bes_gebDatum]$"
repeat with chr_geb in formDateOfBirthInput
keystroke chr_geb
delay 0.02
end repeat
delay 0.2
keystroke (key code 53)
delay 0.2
keystroke (key code 48)
delay 0.2
set sex to "$[patient_geschlecht]$"
if sex is "männlich" then key code 49
delay 0.1
if sex is not "männlich" then key code 48
delay 0.1
if sex is "weiblich" then key code 49
delay 0.1
key code 48
delay 1
set formZipInput to "$[patient_plz]$"
repeat with chr_nachname in formZipInput
keystroke chr_nachname
delay 0.02
end repeat
delay 0.1
key code 48
delay 0.1
set formCityInput to "$[patient_ort]$"
repeat with chr_nachname in formCityInput
keystroke chr_nachname
delay 0.02
end repeat
delay 0.1
key code 48
delay 0.5
set formStreetInput to "$[patient_strasse]$"
repeat with chr_nachname in formStreetInput
keystroke chr_nachname
delay 0.02
end repeat
delay 0.2
key code 48
delay 0.2
set telstring to "$[ptel]$" as string
if character 1 of "$[ptel]$" = "0" then set newtelstring to text 2 through -1 of "$[ptel]$"
if character 1 of "$[ptel]$" is not "0" then set newtelstring to "4462" & "$[ptel]$"
set newnumber to "+49" & newtelstring
repeat with chr_nachname in newnumber
keystroke chr_nachname
delay 0.02
end repeat
delay 0.2
key code 48
delay 0.2
set email to "$[pemail]$"
repeat with chr_nachname in email
keystroke chr_nachname
delay 0.02
end repeat
delay 0.2
key code 48
delay 0.2
delay 0.2
key code 48
delay 0.2
key code 49
delay 0.2
key code 48
delay 0.2
key code 49
delay 0.2
key code 48
end tell