1

I’m not managing to execute JavaScript in Safari anymore.

I have this working script for 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

I converted to Safari here:

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

The result do return on AppleScript but Safari actually take no action Result: "11111"

Basically the script is suppose to click on a button to have a pop windows and fill up the text What am I doing wrong?

My system:
OS X 10.13.2 (17C202)
Safari Version 11.0.2 (13604.4.7.1.5)

1

So unlike Chrome where you can just adding few line with different JS code, in safari you have to added for each code do JavaScript and mention the document / tab

e.g :

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .