Catégorie < windows >
1FORMATIK.com
Espace ~public
© 1998 - 2025
Sommaire
Information
Solution pour actualiser automatiquement une page Web
Avant tout et si vous cherchez un moyen pour rafraichir manuellement une page Web, vous pouvez utiliser la touche F5 de votre clavier Windows, ou bien la combinaison de touches CMD + R sur un clavier Mac.
Pour automatiser l'actualisation d'une page Web, avec Windows, vous pouvez utiliser PowerShell.
PowerShell est un langage de script développé par Microsoft. Il a entre autre été conçu pour l'automatisation des tâches système et l'interaction automatisée avec les logiciels.
Il est ainsi possible de créer un script PowerShell ayant pour objectif de simuler un rafraîchissement automatique d'une page web dans un navigateur spécifié pendant une durée prédéfinie.
Voici les principales étapes pour actualiser une ou plusieurs pages Web de manière automatique, sur Windows, avec PowerShell :
Vidéo illustrative via YouTube
Code source du script PS1
Le script PowerShell suivant a pour objectif de simuler une actualisation automatique d'une page web dans un navigateur spécifié pendant une durée prédéfinie.
# Durée d'exécution du script en minute
$duree_en_minute = 720
# Occurrence de rafraichissement en seconde
$refresh_en_seconde = 30
# Quel navigateur internet utilisez-vous (Google Chrome, Firefox, Opera, Brave...)
$navigateur = "Google Chrome"
$timeout = new-timespan -Minutes $duree_en_minute
$sw = [diagnostics.stopwatch]::StartNew()
while ($sw.elapsed -lt $timeout){
[void] [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.VisualBasic")
[Microsoft.VisualBasic.Interaction]::AppActivate($navigateur)
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.SendKeys]::SendWait("{F5}")
$dateheure = Get-Date
Write-Host "Rafraichissement :"$dateheure
start-sleep -seconds $refresh_en_seconde
}
Voici une explication ligne par ligne :
Voici une seconde version du code avec une option supplémentaire pour choisir les onglets à rafraichir.
# Durée totale en minutes
$duree_en_minute = 720
# Fréquence de rafraîchissement (en secondes)
$refresh_en_seconde = 30
# Navigateur cible
$navigateur = "Google Chrome"
# Onglets à rafraîchir
$onglets = @(2, 3, 5)
# Durée du script
$timeout = New-TimeSpan -Minutes $duree_en_minute
$sw = [Diagnostics.Stopwatch]::StartNew()
# Chargement des bibliothèques nécessaires
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.VisualBasic")
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
# Fonction pour changer la disposition clavier
function Set-KeyboardLayout {
param (
[string]$layout = "00000409" # QWERTY = 00000409 | AZERTY = 0000040C
)
$signature = @'
[DllImport("user32.dll")]
public static extern long LoadKeyboardLayout(string pwszKLID, uint Flags);
'@
$keyboardAPI = Add-Type -MemberDefinition $signature -Name 'Win32Keyboard' -Namespace API -PassThru
$keyboardAPI::LoadKeyboardLayout($layout, 1)
}
while ($sw.Elapsed -lt $timeout) {
# Activer la fenêtre navigateur
[Microsoft.VisualBasic.Interaction]::AppActivate($navigateur)
Start-Sleep -Milliseconds 500
# Revenir à l'onglet 1 AVANT chaque cycle
Set-KeyboardLayout "00000409" # QWERTY
[System.Windows.Forms.SendKeys]::SendWait("^{1}")
Start-Sleep -Milliseconds 300
Set-KeyboardLayout "0000040C" # AZERTY
foreach ($onglet in $onglets) {
# Aller à l'onglet voulu
Set-KeyboardLayout "00000409" # QWERTY
[System.Windows.Forms.SendKeys]::SendWait("^{${onglet}}")
Start-Sleep -Milliseconds 300
Set-KeyboardLayout "0000040C" # AZERTY
# Rafraîchir
[System.Windows.Forms.SendKeys]::SendWait("{F5}")
Start-Sleep -Milliseconds 200
$dateheure = Get-Date -Format "HH:mm:ss"
Write-Host "Rafraichissement onglet $onglet ($dateheure)"
Start-Sleep -Seconds 1
}
# Retour à l’onglet 1 en fin de cycle
Set-KeyboardLayout "00000409" # QWERTY
[System.Windows.Forms.SendKeys]::SendWait("^{1}")
Start-Sleep -Milliseconds 300
Set-KeyboardLayout "0000040C" # AZERTY
Write-Host "Fin du cycle $(Get-Date -Format "HH:mm:ss"). Attente $refresh_en_seconde sec..."
Start-Sleep -Seconds $refresh_en_seconde
}
Télécharger le script PS1
Cliquez sur le lien ci-contre pour télécharger le fichier archive au format ZIP.
Il contient les fichiers suivants :
Ce contenu vous a-t-il été utile ?
Autres publications dans la catégorie <windows>