Comment trouver les coordonnees de pixel sur votre ecran
Vous avez besoin de la position X/Y exacte d un pixel et tout de suite -- peut-etre pour un script d automatisation, peut-etre pour aligner un element d interface, peut-etre pour signaler un bug avec des etapes precises. Quelle que soit la raison, cette page couvre toutes les methodes pratiques : outils integres au systeme, commandes terminal, DevTools du navigateur, et un selecteur en direct que vous pouvez essayer sans rien installer.
Ouvrir l outil complet de coordonneesDemo rapide : selecteur de coordonnees
Le cadre ci-dessus est interactif. Deplacez la souris dessus et vous verrez quatre valeurs se mettre a jour en temps reel : X et Y sont mesures depuis le coin superieur gauche de tout votre ecran, tandis que X relatif et Y relatif sont mesures depuis le coin superieur gauche du cadre de demo lui-meme.
Cette distinction -- coordonnees d ecran versus coordonnees relatives a l element -- est la source de confusion la plus courante quand on commence a travailler avec des positions de pixels.
Conseil pratique : Pour un script d automatisation qui doit cliquer sur un bouton, vous voulez presque toujours des coordonnees d ecran. Pour une application web, vous voulez generalement des coordonnees relatives (offsetX/offsetY).
Windows : PowerShell et Snipping Tool
Windows n integre aucun outil affichant les coordonnees. Il n existe pas d application native qui suit votre curseur et affiche les valeurs X/Y. Vous avez trois options reelles.
Option 1 : PowerShell + API Win32 (pret a copier)
Utilise la meme fonction GetCursorPos que chaque application Windows utilise en interne, donc les coordonnees sont en pixels physiques. Collez ceci dans PowerShell :
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class User32 {
[StructLayout(LayoutKind.Sequential)]
public struct POINT { public int X; public int Y; }
[DllImport("user32.dll")]
public static extern bool GetCursorPos(out POINT lpPoint);
}
"@
while ($true) {
$p = New-Object User32+POINT
[User32]::GetCursorPos([ref]$p)
Write-Host "`rX: $($p.X) Y: $($p.Y)" -NoNewline
Start-Sleep -Milliseconds 100
}
Deplacez la souris et observez. Ctrl+C pour arreter.
Attention DPI : Sous Windows 10/11 avec une mise a l echelle superieure a 100%, GetCursorPos renvoie des pixels physiques. Le navigateur peut utiliser des pixels CSS. Cette difference est la premiere cause de clics d automatisation qui ratent leur cible.
Option 2 : Snipping Tool (pour des lectures rapides)
L outil de capture n affiche pas directement les coordonnees, mais quand vous commencez une capture, le viseur affiche sa position en pixels dans une infobulle. Appuyez sur Win + Shift + S.
Option 3 : Python avec PyAutoGUI
import pyautogui, time
while True:
x, y = pyautogui.position()
print(f"\rX: {x} Y: {y}", end="", flush=True)
time.sleep(0.1)
Plus de details dans notre guide PyAutoGUI.
macOS : Digital Color Meter et terminal
macOS est mieux equipe que Windows pour cette tache. Vous disposez d un utilitaire integre qui affiche les coordonnees en direct.
Integre : Digital Color Meter
Ouvrez Spotlight (Cmd + Espace) et tapez "Digital Color Meter". Cette application, dans Applications / Utilitaires, affiche la position du curseur en temps reel en bas de sa fenetre.
Astuce : Redimensionnez la fenetre pour qu elle soit petite et deplacez-la dans un coin pour ne pas bloquer la zone a mesurer.
Terminal : Python + Quartz
Le framework Quartz fournit les memes donnees de coordonnees que le systeme d exploitation. Attention : macOS mesure Y depuis le bas de l ecran.
import Quartz, time
while True:
loc = Quartz.CGEventGetLocation(
Quartz.CGEventCreate(None))
h = Quartz.CGDisplayPixelsHigh(
Quartz.CGMainDisplayID())
# Y macOS depuis le bas ; inverser vers origine haut-gauche
print(f"\rX: {int(loc.x)} Y: {int(h - loc.y)}",
end="", flush=True)
time.sleep(0.1)
Installez avec pip install pyobjc-framework-Quartz.
Linux : xdotool et xwininfo
Linux dispose des meilleurs outils en ligne de commande pour le travail avec les coordonnees, en partie parce que X11 a ete concu pour etre scriptable des le depart.
xdotool : lecture unique des coordonnees
xdotool getmouselocation --shell
# X=1920
# Y=540
# SCREEN=0
# WINDOW=16777216
eval "$(xdotool getmouselocation --shell)"
echo "Souris a $X, $Y sur l ecran $SCREEN"
Suivi en direct
while true; do
eval "$(xdotool getmouselocation --shell)"
printf "\rX: %-5s Y: %-5s" "$X" "$Y"
sleep 0.1
done
Utilisateurs Wayland : xdotool et xwininfo sont des outils X11. Sous Wayland, ils peuvent renvoyer des zeros ou echouer silencieusement.
Dans le navigateur : DevTools et JavaScript
Pour les coordonnees dans une page web, vous n avez pas besoin d outils systeme. Le navigateur fournit tout via JavaScript.
Extrait pour la console DevTools
document.addEventListener('mousemove', e => {
console.clear();
console.log('Screen: ' + e.screenX + ', ' + e.screenY);
console.log('Client: ' + e.clientX + ', ' + e.clientY);
console.log('Page: ' + e.pageX + ', ' + e.pageY);
console.log('Offset: ' + e.offsetX + ', ' + e.offsetY);
});
| Propriete | Origine | Aware du scroll ? | Cas d usage |
|---|---|---|---|
screenX / screenY | Moniteur physique | Non | Multi-ecran, automatisation OS |
clientX / clientY | Viewport du navigateur | Non | Canvas, positionnement d overlay |
pageX / pageY | Document complet | Oui | Position absolue du document |
offsetX / offsetY | Element sous le curseur | Oui | Interaction relative a l element |
Mise a l echelle DPI : pourquoi vos coordonnees sont fausses
Si vous avez deja ecrit un script qui fonctionne sur un ordinateur mais rate de quelques pixels sur un autre, la mise a l echelle DPI est presque certainement la cause.
Les ecrans modernes utilisent souvent un facteur d echelle superieur a 100%. Un ecran 4K a 150% signale moins de pixels logiques que physiques. Le probleme : differentes couches logicielles peuvent signaler des coordonnees dans des unites differentes.
Solution : Verifiez window.devicePixelRatio dans la console du navigateur. Si la valeur est 1.5, multipliez les coordonnees CSS par 1.5 pour obtenir les pixels physiques. Voir notre guide de mise a l echelle DPI.
Multi-ecrans et coordonnees negatives
Le coin superieur gauche de l ecran principal est toujours (0, 0). Les ecrans secondaires etendent le plan de coordonnees. Un ecran a gauche du principal a des coordonnees negatives.
| Position de l ecran | Plage de coordonnees | Exemple |
|---|---|---|
| Principal (centre) | 0 a +largeur, 0 a +hauteur | 0,0 a 1920,1080 |
| A gauche du principal | -largeur a -1 | -1920,0 a -1,1080 |
| A droite du principal | +principal a +(prin+sec) | 1920,0 a 3840,1080 |
| Au-dessus du principal | -hauteur a -1 (axe Y) | 0,-1080 a 1920,-1 |
Explication complete dans notre guide multi-ecrans.
Tableau comparatif des methodes
| Methode | Plateforme | Precision | Scriptable ? | Ideal pour |
|---|---|---|---|---|
| PowerShell + GetCursorPos | Windows | Exact (px physique) | Oui | Scripts d automatisation |
| Snipping Tool | Windows | Approximatif | Non | Estimation visuelle |
| PyAutoGUI | Toutes | Exact | Oui | Automatisation multiplateforme |
| Digital Color Meter | macOS | Exact | Non | Lectures rapides |
| Python + Quartz | macOS | Exact | Oui | Scripts d automatisation Mac |
| xdotool | Linux (X11) | Exact | Oui | Scripts shell |
| Console DevTools | Navigateur | Exact (px CSS) | Oui | Developpement web |
| Picker en ligne (cette page) | Navigateur | Exact | Non | Lectures sans installation |
Questions frequentes
Pourquoi mes coordonnees different sur deux ordinateurs avec le meme ecran ?
Presque toujours la mise a l echelle DPI. Deux ecrans 1920x1080 peuvent donner des valeurs differentes si l un est a 125% et l autre a 100%. Verifiez window.devicePixelRatio.
Puis-je obtenir des coordonnees sur un appareil tactile ?
Oui. Les evenements tactiles fournissent touches[0].clientX et touches[0].clientY, qui fonctionnent comme les coordonnees de souris.
Puis-je obtenir les coordonnees d un element precis au lieu du curseur ?
Oui. Dans le navigateur, utilisez element.getBoundingClientRect(). Pour les applications de bureau, les API d accessibilite peuvent enumerer les elements sans avoir besoin de coordonnees de pixels.
Quelle est la difference entre pixels logiques et physiques ?
Les pixels physiques sont les points reels du materiel. Les pixels logiques (ou pixels CSS) sont une couche d abstraction pour les ecrans haute DPI. A 100% ils sont identiques. Voir notre guide pixels physiques vs logiques.
Existe-t-il un raccourci clavier pour afficher les coordonnees sous Windows ?
Pas de raccourci integre. Le plus proche est le viseur du Snipping Tool (Win + Shift + S). Vous pouvez assigner un raccourci au script PowerShell avec AutoHotkey.