Sto usando AppleScript con Google Chrome per automatizzare un processo noioso su un sito web. In determinate condizioni, il sito Web ha un popup di avviso per segnalare all'utente un problema. Ciò impedisce il completamento del resto dello script di automazione. Devo rilevare questo popup, registrarlo su un file (ho già capito), e fare clic sul pulsante ok per continuare. Il codice che attualmente ho assomiglia a questo:
on run args
repeat with catNum in args
tell application "Google Chrome"
set myurl to "http://database.com/whatever"
open location myurl
delay 1
tell active tab of window 1
-- Click the button that needs to be clicked
execute javascript "document.getElementById('verbatimCoordinatesDiv').getElementsByTagName('div')[0].getElementsByTagName('a')[0].click()"
-- What I need to do:
-- If (popup alert) then
-- do shell script "echo Issue with " & catNum & " > templog.txt"
-- Click ok button on popup
-- else
-- This clicks the save button
execute javascript "document.getElementById('editButtonDiv').getElementsByTagName('input')[0].click()"
-- end if
delay 1
end tell
delay 1
-- Close the tab
delete tab (active tab index of window 1) of window 1
end tell
end repeat
end run
Finora ciò che funziona funziona bene quando non c'è un messaggio popup, tuttavia richiede l'intervento manuale quando viene attivato un popup. Di seguito è riportato uno screenshot della finestra popup e della finestra di ispezione accessibilità.
EDIT:Eccounaversioneridottadiciòchestocercandodifare,masuunsitopubblico.Sembrachel'avvisodijavascriptimpediscachequalcosaavvenganelbrowserfinoaquandovienecliccatomanualmentesuOK.
tellapplication"Google Chrome"
-- Go to the website with the javascript button
set myurl to "http://t4t5.github.io/sweetalert/"
open location myurl
delay 1
tell active tab of window 1
-- Click the normal javascript button on the page
execute javascript "document.getElementsByTagName('button')[1].click()"
end tell
-- Delete the tab when done
delete tab (active tab index of window 1) of window 1
end tell