I haven’t used AppleScript much, but I was recently working on a script to automate a workflow and I was surprised to discover that each browser uses different commands to execute JavaScript.
Specifically, Safari uses do JavaScript "add code here" in document X
and Chrome requires execute javascript "add code here"
Here’s an example of each:
Safari
tell application "Safari"
open location "https://google.com"
if (do JavaScript "document.readyState" in document 1) is "complete" then set pageLoaded to true
display dialog pageLoaded as string
end tell
tell application "Google Chrome"
open location "https://google.com"
if (execute javascript "document.readyState") is "complete" then set pageLoaded to true
display dialog pageLoaded as string
end tell
A couple notes:
- AppleScript.app autocorrects the second example to a lowercase JavaScript, but either should work.
- Safari requires that a document is specified
- If you’re using Firefox, it’s currently not possible to execute JavaScript with AppleScript