Advanced Guide

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