How to move/hover mouse (not click) over a button on Safari by using Applescript
I do not know of a way using basic vanilla AppleScript, by itself, to move the mouse cursor; however there are third-party utilities that can do it, one being cliclick; however, you also need to be able to tell it where to move it and that has its own issues.

On a different track, looking at the web page of the URL in your OP, I see that looking at the HTML to the target element, e.g. "document.getElementsByClassName('_3ZDC1p')[2].innerHTML;" there is a URL for the image.

Why not get the HTML, parse it to get the URL, and download it directly to your system?

The following example AppleScript code does just that:

--  # 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) &amp; ¬
    (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 " &amp; theURL's quoted form &amp; " -o " &amp; saveToFileName's quoted form &amp; ¬
    "; mv -n " &amp; saveToFileName's quoted form &amp; space &amp; saveToFileName's quoted form &amp; ¬
    ".$(file " &amp; saveToFileName's quoted form &amp; " | awk -F ': | ' '{print tolower($2)}')"

--  # Download the file.

do shell script shellCMD



Note: This example AppleScript code is based solely on the HTML of the target element and what's necessary to automate the process once the target web page is available and is the frontmost Safari window.




Note: The example AppleScript code is just that and does not contain any error handling as may be appropriate. The onus is upon the user to add any error handling as may be appropriate, needed or wanted. Have a look at the try statement and error statement in the AppleScript Language Guide. See also, Working with Errors. Additionally, the use of the delay command may be necessary between events where appropriate, e.g. delay 0.5, with the value of the delay set appropriately.