Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
applescript-utils
Advanced tools
Some utilities for working with AppleScript.
npm install applescript-utils
import { getElements } from 'applescript-utils';
await getElements('System Preferences');
Returns: ElementReference[]
Gets all the UI elements in a process. This function runs the following AppleScript:
tell application "System Events"
tell front window of process ${JSON.stringify(processName)}
get entire contents
end tell
end tell
Type: string
Required: true
The name of the process to retrieve all the elements from.
Waits until an element exists. This function runs the following AppleScript:
tell application "System Events"
tell process ${JSON.stringify(elementReference.applicationProcess)}
repeat until exists ${elementReference.pathString}
delay ${interval}
end repeat
end tell
end tell
Type: ElementReference
Required: true
A reference to the element to wait for.
Type: number
Default: 0.1
The amount of time in seconds to wait for before re-checking to see if the element exists.
Clicks an element. This function runs the following AppleScript:
tell application "System Events"
tell process ${element.applicationProcess}
set myElement to a reference to ${element.pathString}
click myElement
end tell
end tell
Type: ElementReference
Required: true
A reference to the element to click.
Toggles a checkbox element. Runs the following AppleScript:
tell application "System Events" to tell process ${props.element.applicationProcess}
set theCheckbox to ${props.element.pathString}
tell theCheckbox
${checkboxAction}
end tell
end tell
Type: ElementReference
Required: true
A reference to the checkbox element.
Type: boolean | undefined
Required: false
The value to set the checkbox. If undefined
, the checkbox will be toggled to the opposite of its current state.
Waits until an element is hidden. Runs the following AppleScript:
tell application "System Events"
tell process ${JSON.stringify(elementReference.applicationProcess)}
repeat while exists ${elementReference}
delay ${interval}
end repeat
end tell
end tell
Type: ElementReference
Required: true
A reference to the element to wait for until it's hidden.
Type: number
Default: 0.1
The amount of time to wait inbetween checks.
Waits until a matching element on the window is found.
Type: string
Required: true
The name of the window.
Type: (element: ElementReference) => boolean
Required: true
A function that takes an element reference and returns a boolean representing whether or not it matches.
Type: import('p-wait-for').Options
Required: false
Options to pass to pWaitFor
.
Input keystrokes. Runs the following AppleScript:
tell application "System Events" to keystroke ${JSON.stringify(keystrokes)}
Type: string
Required: true
The keystrokes to enter.
Returns: string | number | boolean | Record<string, unknown> | unknown[] | Date | Buffer | undefined
Runs an AppleScript string and parses the result using parse-applescript
.
Type: string
Required: true
The AppleScript code to run.
FAQs
Utilities for AppleScript scripts.
We found that applescript-utils demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.