1 votes

Comment déplacer la souris (et non cliquer) sur un bouton dans Safari à l'aide d'Applescript

Quelqu'un peut-il me dire comment écrire un Applescript qui peut déplacer ou passer la souris sur un bouton dans Safari ? J'ai réussi à faire un Applescript qui permet de cliquer sur le bouton mais je ne sais pas comment faire pour que la souris ne fasse que se déplacer, sans cliquer. En effet, j'ai besoin de télécharger des images d'un site web qui n'apparaissent que lorsque l'on passe la souris sur ce bouton (ce bouton ne peut pas être cliqué).

Le site web dont je veux obtenir des informations (élément HTML) lors de l'exécution du script : https://shopee.vn/Bút-line-i-nét-chuyên-nghip-SAKURA-PIGMA-MICRON-12-size-(0.03-Brush)-BÁN-L-i.22061868.886461468

Mon Applescript qui a réussi à cliquer sur le bouton (Ce clic permet d'accéder à la deuxième image sur la gauche) :

tell application "Safari"
    do JavaScript "document.getElementsByClassName('_3ZDC1p')[2].click();" in document 1
end tell

ou :

to clickClassName(theClassName, elementnum)
    tell application "Safari"
        do JavaScript "document.getElementsByClassName('" & theClassName & "')[" & elementnum & "].click();" in document 1  
    end tell
end clickClassName
clickClassName("_3ZDC1p", 2)

Pouvez-vous me dire comment passer la souris sur le bouton (sans cliquer) d'une manière similaire à script comme ci-dessus ? J'ai remarqué que le bouton "1.0 Graphic" dans le site ci-dessus est estompé, ce qui signifie qu'il ne peut pas être cliqué, mais une fois que vous passez votre souris dessus, l'image à gauche apparaît, je veux vraiment obtenir cette image. L'url de cette image n'apparaît que lorsque je passe le curseur de la souris sur le bouton "1.0 Graphic". Je sais déjà comment faire un script pour télécharger une image à partir d'une URL. J'ai juste besoin d'un script qui puisse faire passer la souris sur ce bouton ("1.0 Graphic") pour que l'image puisse être vue afin de saisir l'url. Je vous remercie !

0voto

user3439894 Points 52496

Je ne connais pas de moyen d'utiliser la vanille de base. AppleScript En soi, il s'agit de déplacer le curseur de la souris ; toutefois, il existe des utilitaires tiers qui peuvent le faire, l'un d'entre eux étant cliquer Cependant, vous devez également être en mesure de lui dire où le déplacer, ce qui pose ses propres problèmes.

Dans un autre ordre d'idées, en regardant la page web de la URL dans votre OP, je vois qu'en regardant le HTML à la élément cible , par exemple "document.getElementsByClassName('_3ZDC1p')[2].innerHTML;" il existe un URL pour les image .

Pourquoi ne pas obtenir le HTML , l'analyser pour obtenir le URL et le télécharger directement sur votre système ?

Les éléments suivants exemple AppleScript code ne fait rien d'autre que cela :

--  # Get the HTML for the target element.

tell application "Safari" to ¬
    tell front document to ¬
        set innerHTML to do JavaScript ¬
            "document.getElementsByClassName('_3ZDC1p')[2].innerHTML;"

--  # Parse 'innerHTML' to get the URL.

set text item delimiters to {"(", ")"}
set theURL to second text item of innerHTML
set text item delimiters to {}

--  # Set the pathfilename for the saved image,
--  # e.g,: /Users/me/Pictures/1591893975.jpeg
--  # Name is based on seconds since Epoch.

set saveToFileName to POSIX path of ¬
    (path to pictures folder) & ¬
    (do shell script "date +%s")

--  # Define the commands necessary to accomplish
--  # the download base on the OP's URL example.

set shellCMD to "curl -ks " & theURL's quoted form & " -o " & saveToFileName's quoted form & ¬
    "; mv -n " & saveToFileName's quoted form & space & saveToFileName's quoted form & ¬
    ".$(file " & saveToFileName's quoted form & " | awk -F ': | ' '{print tolower($2)}')"

--  # Download the file.

do shell script shellCMD
  • Remarque : Le présent exemple AppleScript code se fonde uniquement sur la HTML de la élément cible et ce qui est nécessaire pour automatiser le processus une fois que la page web cible est disponible et qu'elle est la première page du site. Safari fenêtre.

Note : Le <em>exemple </em><strong>AppleScript </strong><em>code </em>n'est que cela et ne contient pas de <em>traitement des erreurs </em>le cas échéant. Il incombe à l'utilisateur d'ajouter toute <em>traitement des erreurs </em>selon ce qui est approprié, nécessaire ou souhaité. Consultez le <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>essayer </strong></a><em>déclaration </em>y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>erreur </strong></a><em>déclaration </em>dans le <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guide du langage AppleScript </strong></a>. Voir aussi, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Travailler avec des erreurs </strong></a>. En outre, l'utilisation du <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>délai </strong></a><em>commande </em>peut être nécessaire entre les événements, le cas échéant, par exemple <code>delay 0.5</code> , avec le <em>valeur </em>de la <em>délai </em>de manière appropriée.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X