1 votes

JavaScript exécuté par AppleScript pour cliquer sur un bouton et remplir du texte dans Safari

Je n'arrive plus à exécuter JavaScript dans Safari.

J'ai ce script fonctionnel pour Chrome.

set caseID to "11111"
end tell

####################################### time #########
set myDate to date string of (current date)

set myTime to time string of (current date)

set myDateTime to myDate & " - " & myTime

set textToSave to "MY TEXT HERE
HERE
HERE
" & myDateTime

tell application "Google Chrome"
    delay 0.1
    execute front window's active tab javascript "document.getElementsByName('9.9.5.4.5.CSInfoInspector.1.1.1')[0].click();"
    delay 0.1
    execute front window's active tab javascript "document.getElementsByName('05.5.54.5.CSInfoInspector.1.1.5.41.3.7.57.1')[0].value=" & quoted form of textToSave 
    delay 0.1
    execute front window's active tab javascript "document.getElementsByName('5.5.4.5.5.CSInspector.5.1.7')[0].value=" & quoted form of caseID

end tell

Je me suis converti à Safari ici :

set caseID to "11111"

####################################### time #########
set myDate to date string of (current date)

set myTime to time string of (current date)

set myDateTime to myDate & " - " & myTime

set textToSave to "MY TEXT HERE
HERE
HERE
" & myDateTime

tell application "Safari"
    delay 0.1
    do JavaScript "document.getElementsByName('9.9.5.4.5.CSInfoInspector.1.1.1')[0].click();" in current tab of window 1
    delay 0.1

    do JavaScript "document.getElementsByName('05.5.54.5.CSInfoInspector.1.1.5.41.3.7.57.1')[0].value=" & quoted form of textToSave in current tab of window 1

    do JavaScript "document.getElementsByName('5.5.4.5.5.CSInspector.5.1.7')[0].value=" & quoted form of caseID in current tab of window 1

end tell

Le résultat est renvoyé par AppleScript mais Safari ne fait rien. Résultat : "11111"

En fait, le script est censé cliquer sur un bouton pour faire apparaître une fenêtre et remplir le texte. Qu'est-ce que je fais de mal ?

Mon système :
OS X 10.13.2 (17C202)
Safari Version 11.0.2 (13604.4.7.1.5)

1voto

Kevin Points 2006

Contrairement à Chrome, où il suffit d'ajouter quelques lignes avec différents codes JS, dans Safari, vous devez ajouter pour chaque code JavaScript et mentionner le document / onglet.

Par exemple :

tell application "Safari"
    delay 0.1
    do JavaScript "document.getElementById('accountEnabledSelection').value=1" in current tab of window 1
    do JavaScript "document.getElementsByName('demo')[0].click();" in current tab of window 1

end tell

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X