Exemples de scripts Selenium : Connexion auto et Cookies
Ce chapitre fournit des modèles de code prêts à l'emploi que vous pouvez adapter à vos besoins en commerce électronique ou en gestion de réseaux sociaux.
1. Modèle de connexion automatique stable
Ce script comprend la gestion des erreurs et l'attente intelligente.
python
import requests
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# Initialisation omise (voir Chapitre 2)
def login_task(driver):
try:
driver.get("https://example.com/login")
wait = WebDriverWait(driver, 15)
# Attendre que le champ email apparaisse et saisir
email_input = wait.until(EC.presence_of_element_id((By.NAME, "email")))
email_input.send_keys("test@example.com")
# Saisir le mot de passe
driver.find_element(By.NAME, "password").send_keys("password123")
# Cliquer sur le bouton de connexion
driver.find_element(By.ID, "login-btn").click()
# Vérifier si la connexion a réussi (attendre un élément spécifique du tableau de bord)
wait.until(EC.presence_of_element_located((By.CLASS_NAME, "user-profile")))
print("✅ Connexion réussie !")
except Exception as e:
print(f"❌ Échec de la tâche de connexion : {str(e)}")2. Injection de Cookies par lots (Migrer l'état de connexion)
Si vous avez des cookies achetés ou sauvegardés, vous pouvez les injecter directement dans Mbbrowser pour éviter le processus de connexion.
python
def inject_cookies(driver, cookies_list):
# Vous devez d'abord charger le domaine cible pour définir les cookies
driver.get("https://example.com")
for cookie in cookies_list:
# Assurez-vous que le format du cookie est compatible avec Selenium
driver.add_cookie({
'name': cookie['name'],
'value': cookie['value'],
'domain': 'example.com' # Doit correspondre au domaine actuel
})
# Rafraîchir pour appliquer les cookies
driver.refresh()
print("✅ Cookies injectés, état de connexion restauré.")3. Scénario de commerce électronique : Vérification du prix Amazon
python
def check_amazon_price(driver, product_url):
driver.get(product_url)
try:
price = driver.find_element(By.CLASS_NAME, "a-price-whole").text
print(f"💰 Prix actuel : {price}")
except:
print("Imposible de charger le prix.")4. Conseils Anti-détection (Chauffage de compte)
Pour les plateformes très strictes, évitez les comportements purement mécaniques :
- Vitesse de saisie variable :python
def human_type(element, text): for char in text: element.send_keys(char) time.sleep(0.1) # Petite pause aléatoire - Mouvements de souris aléatoires : Utilisez
ActionChainspour déplacer la souris sur des éléments décoratifs avant de cliquer. - Défilement réaliste : Ne sautez pas directement en bas de la page ; faites défiler par petits morceaux.
TIP
Ces scripts sont des points de départ. En utilisant les environnements d'empreintes isolés de Mbbrowser, vous avez déjà surmonté le plus grand obstacle (la détection matérielle/IP). L'automatisation logicielle ne fait qu'ajouter une couche d'efficacité supplémentaire.
