X.com (Twitter) — Playbook de l'Agent Navigateur
Séquences d'opérations spécifiques à la plateforme pour agent-browser sur x.com. Chaque opération documente : les préconditions, les commandes agent-browser étape par étape, la méthode de vérification et les pièges connus.
Statut : Toutes les sections (1-7) testées et documentées. Testé avec : agent-browser 0.24.0, Chrome CDP sur le port 9222, compte @mashijiann. Dernière mise à jour : 2026-05-06
Table des matières
- 1. Naviguer et lire
- 2. Engagement — Réagir au contenu
- 3. Création de contenu
- 4. Graphe social
- 5. Gestion du profil
- 6. Navigation et utilitaires
- 7. Listes
Ciblage de l'appareil : Les opérations s'exécutent par défaut sur Chrome de bureau. Pour utiliser la surface web mobile, définissez
DEVICE_PROFILE=ios|androiddans.envou préfixez les commandes agent-browser avec-p ios|android. Lors de la journalisation d'une action, transmettez--device <cible>pour la provenance (cela ne change pas la déduplication — un like est au niveau du compte).
1. Naviguer et lire
1.1 Ouvrir le fil d'actualité principal
Objectif : Naviguer vers le fil d'actualité principal et confirmer son chargement.
Préconditions : Connecté (session Chrome CDP avec cookies).
Étapes :
agent-browser open https://x.com/home
Vérification :
# Le titre doit contenir "Home / X"
agent-browser get title
# L'URL doit être https://x.com/home
agent-browser get url
# L'instantané doit montrer la région "Your Home Timeline" et l'onglet "For you"
agent-browser snapshot -i -c -s '[role="region"]'
Éléments clés :
- Barre latérale de navigation :
navigation "Primary"— contient les liens : Accueil, Recherche et exploration, Notifications, Messages privés, Grok, Premium, Signets, Profil - Onglets du fil :
tab "For you"(sélectionné par défaut),tab "Following", éventuellement des onglets personnalisés - Zone de composition :
textbox "Post text"— composition intégrée sur la page d'accueil - Bouton du compte :
button "Account menu"— affiche le nom d'utilisateur connecté - Région du fil :
region "Your Home Timeline"— contient des élémentsarticlede tweet
Problèmes connus :
- Aucun
1.2 Ouvrir un tweet spécifique par URL
Objectif : Naviguer directement vers un tweet et lire son contenu.
Préconditions : Avoir l'URL du tweet (par ex. https://x.com/user/status/123456).
Étapes :
agent-browser open "https://x.com/<username>/status/<tweet_id>"
Vérification :
# Le titre doit contenir le nom de l'auteur et un aperçu du contenu du tweet
agent-browser get title
# L'URL doit correspondre à l'URL du tweet
agent-browser get url
# L'instantané doit montrer l'article du tweet avec le texte complet et les boutons d'engagement
agent-browser snapshot -i -c -s 'article'
Éléments clés (page de détail du tweet) :
- Article du tweet :
article— contient le texte complet du tweet, les informations sur l'auteur, les statistiques d'engagement - Liens de l'auteur :
link "<NomAffiché> Compte vérifié",link "@<nom_utilisateur>" - Horodatage :
link "<heure> · <date>"(par ex."14:30 · 5 mai 2026") - Compte de vues :
link "<N> Vues" - Boutons d'engagement :
button "N Réponse. Répondre",button "N reposts. Reposter",button "N J'aime. J'aime",button "N Signets. Signet",button "Partager le post" - Bouton d'abonnement :
button "S'abonner à @<nom_utilisateur>"
Problèmes connus :
- Aucun
1.3 Rechercher des tweets par mot-clé
Objectif : Rechercher des tweets correspondant à un mot-clé ou une requête, lire les résultats.
Préconditions : Connecté.
Étapes :
# Pour les résultats "Top" (par défaut) :
agent-browser open "https://x.com/search?q=<requête_encodée_url>&src=typed_query"
# Pour les résultats "Les plus récents" :
agent-browser open "https://x.com/search?q=<requête_encodée_url>&src=typed_query&f=live"
# Pour les résultats "Personnes" :
agent-browser open "https://x.com/search?q=<requête_encodée_url>&src=typed_query&f=user"
# Pour les résultats "Médias" :
agent-browser open "https://x.com/search?q=<requête_encodée_url>&src=typed_query&f=image"
Vérification :
# Le titre doit contenir "<requête> - Recherche / X"
agent-browser get title
# Vérifier quel onglet est actif
agent-browser snapshot -i -c -s '[role="tablist"]'
# Lire les tweets des résultats de recherche
agent-browser snapshot -i -c -s 'article'
Éléments clés :
- Onglets de recherche :
tab "Top",tab "Les plus récents",tab "Personnes",tab "Médias",tab "Listes" - Le paramètre d'URL
fcontrôle l'onglet : omis = Top,live= Les plus récents,user= Personnes,image= Médias - Bouton retour :
button "Retour"— retourne à la page précédente - Chaque résultat est un élément
articleidentique en structure aux tweets du fil
Problèmes connus :
- Encoder l'URL de la chaîne de requête (espaces →
%20, etc.) - Les résultats de recherche peuvent afficher un "mur de connexion" pour les sessions non authentifiées
- Les opérateurs de recherche avancée de X fonctionnent :
from:utilisateur,since:2026-01-01,min_faves:100, etc.
1.4 Voir le profil d'un utilisateur
Objectif : Naviguer vers le profil d'un utilisateur et lire sa bio et plusieurs tweets récents.
Préconditions : Avoir le nom d'utilisateur ou l'URL du profil.
Étapes :
# 1. Naviguer vers le profil
agent-browser open "https://x.com/<nom_utilisateur>"
# 2. Instané initial — généralement n'affiche que le tweet ÉPINGLÉ (s'il y en a un)
agent-browser snapshot -i -c -s 'article'
# ATTENTION : Le premier article est généralement le tweet épinglé, PAS le dernier post.
# Vous DEVEZ faire défiler vers le bas pour voir les posts récents réels.
# 3. Faire défiler vers le bas pour charger les posts récents (au-delà du tweet épinglé et de l'en-tête du profil)
agent-browser scroll down 3000
agent-browser wait 2000
agent-browser snapshot -i -c -s 'article'
# Maintenant, vous devriez voir le premier post récent (non épinglé)
# 4. Continuer à faire défiler pour charger plus de posts — répéter si nécessaire
agent-browser scroll down 3000
agent-browser wait 2000
agent-browser snapshot -i -c -s 'article'
Vérification :
# Le titre doit contenir "<NomAffiché> (@<nom_utilisateur>) / X"
agent-browser get title
# L'URL doit être https://x.com/<nom_utilisateur>
agent-browser get url
Modèle clé — Parcourir plusieurs posts :
# Pour parcourir N posts du profil d'un utilisateur, utilisez cette boucle de défilement :
# Chaque cycle défilement+attente révèle ~1 nouveau post en raison de la liste virtualisée
for i in $(seq 1 N); do
agent-browser scroll down 3000
sleep 2 # ou : agent-browser wait 2000
agent-browser snapshot -i -c -s 'article'
# Traiter le(s) article(s) visible(s)
done
Problèmes connus :
- CRITIQUE : La vue de la page initiale n'affiche généralement que le tweet épinglé. Vous DEVEZ faire défiler vers le bas pour voir les posts récents. Les agents pensent souvent à tort que le tweet épinglé est le seul contenu.
- X utilise une liste virtualisée — seuls 1 à 2 articles dans la fenêtre sont dans le DOM à tout moment. Les articles défilés sont supprimés du DOM.
- Un défilement de 3000 px + une attente de 2 secondes charge de manière fiable le lot suivant
- Le tweet épinglé a le texte
"Épinglé"au début de la description de son article — utilisez-le pour l'identifier et le sauter - Le profil a des onglets : Posts, Réponses, Highlights, Médias, J'aime — par défaut, c'est "Posts" qui exclut les réponses. Utilisez
https://x.com/<nom_utilisateur>/with_repliespour les posts + réponses.
1.5 Lire un fil de tweet / les réponses
Objectif : Ouvrir un tweet et lire le fil complet et les réponses en dessous.
Préconditions : Avoir l'URL du tweet.
Étapes :
# 1. Ouvrir le tweet
agent-browser open "https://x.com/<nom_utilisateur>/status/<tweet_id>"
# 2. Faire défiler vers le bas pour charger les réponses
agent-browser scroll down 800
# 3. Lire les réponses (elles apparaissent comme des éléments article supplémentaires sous le tweet principal)
agent-browser snapshot -i -c -s 'article'
Vérification :
# Plusieurs éléments article doivent être présents — le premier est le tweet principal, les autres sont les réponses
agent-browser snapshot -i -c -s 'article'
Problèmes connus :
- Les réponses peuvent être paginées — cherchez le bouton
button "Afficher plus de réponses"et cliquez dessus - La section "Afficher probablement du spam" peut apparaître — ignorez-la
- Le contexte du fil (tweets parents) apparaît au-dessus du tweet principal
- Piège du clic sur un tweet cité : Si une réponse ou une entrée du fil est un tweet cité, cliquer sur le corps de l'article navigue vers le post original cité au lieu de la page de détail du tweet cité. Pour naviguer vers le tweet correct, cliquez sur le lien d'horodatage à la place. Voir la section 3.4 Problèmes connus pour plus de détails.
1.6 Lire les notifications
Objectif : Ouvrir l'onglet des notifications et lire les notifications récentes.
Préconditions : Connecté.
Étapes :
agent-browser open https://x.com/notifications
Vérification :
# Le titre doit contenir "Notifications / X"
agent-browser get title
# L'URL doit être https://x.com/notifications
agent-browser get url
Éléments clés :
- Onglets de notification : Toutes, Vérifiées, Mentions
- Le lien de la barre latérale affiche le nombre de non lus :
link "Notifications (N notifications non lues)"
Problèmes connus :
- Les notifications ont des sous-onglets : Toutes, Vérifiées, Mentions
1.7 Lire les MP (Messages Privés)
Objectif : Ouvrir les MP et lire les messages récents.
Préconditions : Connecté.
Étapes :
# Remarque : /messages redirige vers /i/chat
agent-browser open https://x.com/messages
Vérification :
# L'URL sera https://x.com/i/chat (redirection automatique)
agent-browser get url
Problèmes connus :
- L'URL redirige de
/messagesvers/i/chat - L'interface utilisateur des MP est un panneau latéral ou une page entière selon la fenêtre d'affichage
- Peut nécessiter X Premium pour certaines fonctionnalités des MP
2. Engagement — Réagir au contenu
2.1 Aimer un tweet
Objectif : Aimer un tweet spécifique.
Préconditions : Sur une page où le tweet est visible (fil, détail du tweet, résultats de recherche).
Étapes :
# 1. Instané pour trouver le bouton J'aime pour le tweet cible
agent-browser snapshot -i -c -s 'article'
# Cherchez : button "N J'aime. J'aime" (pas encore aimé) à l'intérieur de l'article cible
# 2. Cliquer sur le bouton J'aime
agent-browser click <réf_bouton_aime>
Vérification :
# Nouvel instantané — le texte du bouton doit passer de "J'aime" à "Aimé"
agent-browser snapshot -i -c -s 'article'
# Cherchez : button "N J'aime. Aimé"
Identification de l'élément :
- Pas aimé :
button "N J'aime. J'aime"— le texte se termine par. J'aime - Déjà aimé :
button "N J'aime. Aimé"— le texte se termine par. Aimé - Le nombre de J'aime N augmente de 1 après avoir aimé
Problèmes connus :
- Limitation de débit : X peut restreindre les likes rapides
- La référence du bouton peut changer après le changement d'état (refaire un instantané pour obtenir une nouvelle référence)
2.2 Ne plus aimer un tweet
Objectif : Supprimer un like d'un tweet précédemment aimé.
Préconditions : Le tweet est déjà aimé.
Étapes :
# 1. Instané pour trouver le bouton Aimé
agent-browser snapshot -i -c -s 'article'
# Cherchez : button "N J'aime. Aimé"
# 2. Cliquer sur le même bouton pour ne plus aimer
agent-browser click <réf_bouton_aimé>
Vérification :
# Le texte du bouton doit revenir de "Aimé" à "J'aime"
agent-browser snapshot -i -c -s 'article'
# Cherchez : button "N J'aime. J'aime"
Identification de l'élément :
- Le même bouton bascule entre les états J'aime/Aimé
- La référence peut changer entre les états — toujours refaire un instantané
Problèmes connus :
- Aucun
2.3 Retweeter (Reposter)
Objectif : Reposter un tweet sur son propre fil.
Préconditions : Sur une page où le tweet est visible.
Étapes :
# 1. Instané pour trouver le bouton Reposter
agent-browser snapshot -i -c -s 'article'
# Cherchez : button "N reposts. Reposter" [expanded=false]
# 2. Cliquer sur le bouton Reposter — cela ouvre un MENU DÉROULANT, pas l'action elle-même
agent-browser click <réf_bouton_reposter>
# 3. Instané pour voir les éléments du menu déroulant
agent-browser snapshot -i -c -s '[role="menuitem"]'
# Affiche : menuitem "Reposter" et menuitem "Citer"
# 4. Cliquer sur l'élément de menu "Reposter" pour exécuter le repost
agent-browser click <réf_élément_menu_reposter>
Vérification :
# Instané — le texte du bouton doit passer de "Reposter" à "Reposté"
agent-browser snapshot -i -c -s 'article'
Identification de l'élément :
- Bouton Reposter :
button "N reposts. Reposter" [expanded=false] - Éléments du menu déroulant :
menuitem "Reposter"etmenuitem "Citer" - Après le repost : le bouton devient
button "N reposts. Reposté"
Problèmes connus :
- Opération en deux étapes : cliquer sur le bouton ouvre un menu déroulant, vous devez ensuite cliquer sur l'élément de menu
- Pour annuler/fermer le menu déroulant sans agir :
...
[truncé pour la traduction]