MacOS – How to click button with applescript using UI Element Inspector

applescriptmacossafari

I am new to applescript. I am trying to open a webpage, and click a button on that webpage.

here is my script:

tell application "Safari" to activate
tell application "System Events"
    tell application "System Events" to open location "https://itunes.apple.com/us/app/ibooks/id364709193?mt=8"
    click button "View In iTunes" of window "iBooks for iPhone, iPod touch, and iPad on the iTunes App Store"
end tell

here is my info gathered from inspector:

<AXApplication: “Safari”>
 <AXWindow: “iBooks for iPhone, iPod touch, and iPad on the iTunes App Store”>
  <AXGroup>
   <AXGroup>
    <AXGroup>
     <AXScrollArea: “”>
      <AXWebArea: “”>
       <AXLink: “View In iTunes
”>
        <AXGroup: “”>

Attributes:
   AXRole:  “AXGroup”
   AXSubrole:  “(null)”
   AXRoleDescription:  “group”
   AXChildren:  “<array of size 1>”
   AXHelp:  “”
   AXParent:  “<AXLink: “View In iTunes
”>”
   AXPosition:  “x=-9566 y=574”
   AXSize:  “w=10105 h=23”
   AXTitle:  “”
   AXDescription:  “”
   AXValue:  “”
   AXFocused:  “0”
   AXEnabled:  “1”
   AXWindow:  “<AXWindow: “iBooks for iPhone, iPod touch, and iPad on the iTunes App Store”>”
   AXSelectedTextMarkerRange (W):  “(null)”
   AXStartTextMarker:  “<AXTextMarker 0x100151f70 [0x7fff77fa1110]>{length = 24, bytes = 0x070000000000000078140319010000000000000001000000}”
   AXEndTextMarker:  “<AXTextMarker 0x100177c50 [0x7fff77fa1110]>{length = 24, bytes = 0x9a00000000000000c09de015010000000e00000001000000}”
   AXVisited:  “0”
   AXLinkedUIElements:  “(null)”
   AXSelected:  “0”
   AXBlockQuoteLevel:  “0”
   AXTopLevelUIElement:  “<AXWindow: “iBooks for iPhone, iPod touch, and iPad on the iTunes App Store”>”
   AXTitleUIElement:  “(null)”

Actions:
   AXPress - press
   AXShowMenu - show menu

How do I click the "View in iTunes" button?

Best Answer

This is the easiest way...

tell application "Safari"
    if not (exists document 1) then reopen
    activate
    set URL of document 1 to "https://itunes.apple.com/us/app/ibooks/id364709193"
    delay 3
    do JavaScript "document.getElementsByClassName('lockup product application')[0].childNodes[3].onclick()" in document 1
end tell