Maîtrisez l'Automatisation de Navigateur
Guide complet pour automatiser Nox Core avec Puppeteer, Playwright et Selenium. Exemples de code prêts pour la production et meilleures pratiques.
Démarrage Rapide
Opérationnel en 5 minutes
Exemples de Code
Extraits prêts à copier
Moteur RPA
Automatisation sans code
Code Examples
Puppeteer + Chrome DevTools Protocol
Connect to Nox Core via Chrome DevTools Protocol for full browser control.
Configuration de Base
// 1. Launch Nox Core with remote debugging
// Add flag: --remote-debugging-port=9222
const puppeteer = require('puppeteer-core');
const browser = await puppeteer.connect({
browserWSEndpoint: 'ws://localhost:9222',
defaultViewport: null
});
const page = await browser.newPage();
await page.goto('https://example.com');Fonctionnalités Avancées
// Advanced profile management
const profileId = 'your-profile-id';
// Get all available targets
const targets = await browser.targets();
const pageTarget = targets.find(t => t.type() === 'page');
// Execute CDP commands
const client = await page.target().createCDPSession();
// Set custom user agent
await client.send('Network.setUserAgentOverride', {
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
});
// Block specific resources
await client.send('Network.setBlockedURLs', {
urls: ['*.analytics.com', '*.tracking.js']
});Patterns d'Automatisation
// Automation best practices
const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
// Human-like typing
async function humanType(page, selector, text) {
for (const char of text) {
await page.type(selector, char, { delay: Math.random() * 100 + 50 });
}
}
// Random mouse movements
async function randomMove(page) {
await page.mouse.move(
Math.random() * 800 + 100,
Math.random() * 600 + 100
);
}
// Use in your script
await randomMove(page);
await humanType(page, '#username', 'john_doe');
await delay(Math.random() * 500 + 200);
await humanType(page, '#password', 'secret123');Meilleures Pratiques
Éviter la Détection
- Utilisez des délais réalistes entre les actions (200-1000ms)
- Randomisez les mouvements de souris et positions de clic
- Variez les tailles de viewport et user agents
- Effacez les cookies et stockage entre les sessions
Performance
- Réutilisez les instances de navigateur quand possible
- Utilisez le mode headless pour de meilleures performances
- Bloquez les ressources inutiles
- Implémentez le connection pooling
Gestion des Proxies
- Faites tourner les proxies toutes les 10-20 requêtes
- Faites correspondre la localisation du proxy avec le fuseau horaire
- Testez la qualité du proxy avant utilisation
- Utilisez des proxies résidentiels/ISP pour les sites sensibles
Gestion des Erreurs
- Implémentez une logique de retry avec backoff exponentiel
- Prenez des captures d'écran en cas d'échec
- Loggez toutes les actions pour le débogage
- Gérez les CAPTCHAs avec élégance
Exemples Moteur RPA
Automatisation de Connexion
Automatisez les flux de connexion avec support 2FA
// Nox Core RPA - Login Flow
{
"steps": [
{ "action": "navigate", "url": "https://example.com/login" },
{ "action": "wait", "selector": "#username", "timeout": 5000 },
{ "action": "type", "selector": "#username", "value": "{{USERNAME}}" },
{ "action": "type", "selector": "#password", "value": "{{PASSWORD}}" },
{ "action": "click", "selector": "#login-btn" },
{ "action": "wait", "selector": ".dashboard", "timeout": 10000 },
{ "action": "extract", "selector": ".user-name", "variable": "loggedUser" }
]
}Extraction de Données
Extrayez des données de plusieurs pages
// Nox Core RPA - Data Extraction
{
"steps": [
{ "action": "navigate", "url": "{{PRODUCT_URL}}" },
{ "action": "wait", "selector": ".product-title" },
{ "action": "extract", "selector": ".product-title", "variable": "title" },
{ "action": "extract", "selector": ".price", "variable": "price" },
{ "action": "extract", "selector": ".availability", "variable": "stock" },
{ "action": "screenshot", "name": "product_{{timestamp}}" },
{ "action": "webhook", "url": "{{API_ENDPOINT}}", "data": ["title", "price", "stock"] }
]
}Soumission de Formulaires
Automatisez les soumissions de formulaires complexes
// Nox Core RPA - Form Submission
{
"steps": [
{ "action": "navigate", "url": "https://example.com/form" },
{ "action": "select", "selector": "#country", "value": "{{COUNTRY}}" },
{ "action": "type", "selector": "#fullname", "value": "{{FULLNAME}}" },
{ "action": "type", "selector": "#email", "value": "{{EMAIL}}" },
{ "action": "click", "selector": "#terms-checkbox" },
{ "action": "click", "selector": "#submit-btn" },
{ "action": "wait", "selector": ".success-message", "timeout": 15000 },
{ "action": "condition", "if": ".error", "then": [{ "action": "log", "message": "Submission failed" }] }
]
}Avis Important
Respectez toujours les Conditions d'Utilisation des sites web lors de l'automatisation. Utilisez l'automatisation de manière responsable et assurez-vous de respecter les lois et réglementations locales.
Ressources Additionnelles
Prêt à Automatiser ?
Obtenez votre licence Nox Core et commencez à créer des workflows d'automatisation puissants dès aujourd'hui.
Commencer