Je ne connais pas de moyen d'obtenir la deuxième application ou fenêtre la plus au premier plan avec AppleScript, à part quelque chose comme ceci :
delay 0.3 -- temps nécessaire pour relâcher les touches de modification si le script est exécuté avec un raccourci
tell application "System Events"
set p to process 1 where it is frontmost
set visible of p to false
delay 0.01
key code 121 -- 121 = page suivante, 116 = page précédente
set frontmost of p to true
end tell
Cela fait clignoter les fenêtres cachées et activées cependant.
Avec les navigateurs, vous pourriez utiliser window.scrollBy() :
tell application "Safari" to tell document 1
do JavaScript "window.scrollBy(0,(window.innerHeight-20))"
end tell
tell application "Google Chrome" to tell active tab of window 1
execute javascript "window.scrollBy(0,(window.innerHeight-20))"
Une autre option serait de simuler l'appui sur F4, page précédente ou page suivante, et F4 en utilisant par exemple KeyRemap4MacBook :
__KeyToKey__ KeyCode::CURSOR_UP, ModifierFlag::FN | ModifierFlag::CONTROL_L | ModifierFlag::NONE, KeyCode::F4, ModifierFlag::CONTROL_L, KeyCode::PAGEUP, KeyCode::F4, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
__KeyToKey__ KeyCode::CURSOR_DOWN, ModifierFlag::FN | ModifierFlag::CONTROL_L | ModifierFlag::NONE, KeyCode::F4, ModifierFlag::CONTROL_L, KeyCode::PAGEDOWN, KeyCode::F4, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L
Cela provoque également un problème visuel, et F4 sélectionne parfois des fenêtres d'applications cachées.