Wie man mit Applescript mit dem UI Element Inspector auf eine Schaltfläche klickt

Ich bin neu bei Applescript. Ich versuche, eine Webseite zu öffnen, und klicke auf eine Schaltfläche auf dieser Webseite.

hier ist mein 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

Hier sind meine Informationen, die vom Inspektor gesammelt wurden:

<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

Wie klicke ich auf die Schaltfläche „In iTunes anzeigen“?

Befolgen Sie diese Anweisungen mactech.com/articles/mactech/Vol.21/21.06/…

Antworten (1)

Das ist der einfachste Weg...

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