2017-09-23 3 views
0

Ich habe einige Fragen auf der Website gelesen, aber ich kann mein Problem nicht lösen. Ich versuche ein AppleScript zu schreiben, das automatisch ein "Gefällt mir" auf ein Instagram-Foto setzt. Lese anderes Thema, das ich zu, dass angekommen:Klicken Sie auf Like Button mit einem Apple Script

"

tell application "Safari" 
    activate 
    set URL of document 1 to "https://www.instagram.com/p/BZZFmzcB4sK/?hl=it&explore=true" 
    delay 3 
    do JavaScript "document.getElementById('_8scx2 coreSpriteHeartOpen').click();" in document 1 
end tell 

"

Mein Problem ist, dass ich nicht die ID der Schaltfläche finden. Ich habe gelernt, es war "_8scx2 coreSpriteHeartOpen", aber es funktioniert nicht. Können Sie mir helfen?

Antwort

0

Sie müssen .getElementsByClassName() verwenden, weil Sie den Klassennamen verwenden. Diese Funktion gibt jedoch ein Array von Elementen zurück, sodass Sie nur das erste Element verwenden müssen.

Beispiel:document.getElementsByClassName('_8scx2 coreSpriteHeartOpen')[0].click();

0

SO wird der Code sein:

tell application "Safari" 
    activate 
    set URL of document 1 to "https://www.instagram.com/p/BZYf6mKFd4F/?taken-by=alessandrosimon" 
    delay 3 
    do JavaScript "document.getElementsByClassName('_8scx2 coreSpriteHeartOpen')[0].click();" 
end tell 

Ich weiß nicht, warum es falsch ist ... vielleicht falsch ist der Name der Klasse? Wenn ich theispector elemento auf die Schaltfläche klicken zeigen es u dies:

<a class="_eszkz _l9yih" href="#" role="button" aria-disabled="false"> 
<span class="_8scx2 coreSpriteHeartOpen">Mi piace</span></a> 
+0

Ich bin nicht sicher, dass ich verstehe Ihre Frage, werden Sie eine Fehlermeldung erhalten, wenn Sie versuchen, es zu laufen? Wenn ja, können Sie weitere Informationen zur Verfügung stellen ... – DobromirM

+0

Das Programm sagen Sie mir diese: tell application „Safari“ \t \t Satz URL des Dokuments 1 auf „https://www.instagram.com/p/BZYf6mKFd4F/ aktivieren ? take-by = alessandrosimon " \t JavaScript ausführen" document.getElementsByClassName ('_ 8scx2 coreSpriteHeartOpen') [0] .click(); " \t \t -> fehlenden Wert Ende sagen risultato: Wert fehlt –

+0

In Ihrem neuen Code Ich glaube, Sie verpasst 'in Dokument 1 'am Ende Ihrer zweiten Zeile – DobromirM