
Quelle est la différence entre ces deux outils d'automatisation ?
Les spécialistes des tests automatisés ont dû hésiter entre Selenium et Puppeteer, alors commençons par une grande conclusion :Pour la compatibilité avec les anciens projets, utilisez Selenium, pour les nouveaux projets, donnez la priorité à Puppeteer.Les appareils les plus récents sont de type C, et les appareils les plus récents sont de type C. C'est un peu comme choisir un câble de recharge pour un téléphone portable : les anciens appareils ne peuvent utiliser que le MicroUSB, tandis que les nouveaux appareils ferment les yeux et optent pour le Type-C.
Il est intéressant de voir la différence dans la façon dont les IP de proxy sont jouées dans ces deux outils : Selenium doit configurer le proxy avec des objets Options, Puppeteer le met simplement dans les paramètres de lancement. Prenons l'exemple de notre proxy ipipgo :
Version de Selenium
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=http://user:pass@gateway.ipipgo.com:9020')
driver = webdriver.Chrome(options=options)
// Version Puppeteer
const puppeteer = require('puppeteer') ;
const browser = await puppeteer.launch({
args : ['--proxy-server=http://user:pass@gateway.ipipgo.com:9020']
}) ;
Fiche d'information sur les pièges de la configuration du proxy
Le problème le plus courant rencontré dans la pratique est le suivantCertification des agentsSelenium s'appuie sur des bibliothèques tierces pour gérer les fenêtres pop-up, et le paramètre -proxy-server de Chrome est aveugle lorsqu'il s'agit de proxies qui requièrent des mots de passe de compte. C'est là que l'outilMode d'authentification par liste blancheIl est pratique de lier l'IP du serveur pour une utilisation directe sans mot de passe.
| point sensible | Solution au sélénium : astuces | Conseils merveilleux pour les marionnettistes |
|---|---|---|
| Certification des agents | Charger la bibliothèque autoit/robotjs | directement avec page.authenticate() |
| Commutation IP | Exemple de redémarrage d'un navigateur | Modification dynamique des paramètres du proxy |
Guide pratique anti-blocage
Les personnes qui collectent des données craignent le plus de voir leur IP bloquée. Voici une opération peu glorieuse : utiliser la fonction de blocage d'ipipgoAgents résidentiels dynamiquesCorrespondre aux modifications de l'empreinte digitale du navigateur. Par exemple, Puppeteer peut être déguisé par le userAgent et la randomisation des fenêtres :
// Faux triple mouvement
await page.setUserAgent(randomUA) ;
await page.setViewport({width : randomW, height : randomH}) ;
await page.evaluateOnNewDocument(() => {
delete navigator.webdriver ; }) ; await page.evaluateOnNewDocument(() => {
}) ; await page.evaluateOnNewDocument(() => { delete navigator.
C'est le moment d'accrocher les ipipgo'sIP proxy de longue duréeLa durée de survie peut atteindre plus de 12 heures. Le test réel d'une certaine page de marchandises de l'Est, collectée en continu 200 fois, n'a pas déclenché le code de vérification, ce qui est beaucoup plus stable que les agents ordinaires.
Questions fréquemment posées
Q : Que dois-je faire si je ne peux pas me connecter à l'agent ?
R : Vérifiez d'abord si la liste blanche est liée, le panneau de configuration d'ipipgo dispose de journaux de connexion en temps réel. Ensuite, essayez d'accéder au site web cible sans proxy pour écarter les problèmes de réseau.
Q : Que se passe-t-il si je dois ouvrir plusieurs agents en même temps ?
R : Utilisez la fonctionpaquet multiportSi vous disposez d'une instance de navigateur, vous pouvez attribuer un port distinct à chaque instance de navigateur. N'oubliez pas de définir -proxy-bypass-list pour contourner le trafic local.
Q : Quel est le rôle de l'automatisation mobile pour les agents ?
R : Le framework Appium peut réutiliser la configuration du proxy de Selenium, mais il est plus recommandé d'utiliser la configuration du proxy d'ipipgo.Agent mobile 4Gsimulant les signaux réels des stations de base.
D'après mon expérience personnelle, il est recommandé de déterminer d'abord les besoins de l'entreprise. Le besoin de compatibilité inter-navigateurs sur le choix de Selenium, la poursuite de l'efficacité avec la mise en œuvre de Puppeteer. Quel que soit le choix, n'oubliez pas de faire correspondre le proxy ipipgo, ou les minutes par le site cible noir. Récemment, ils se sont engagés dans des activités pour envoyer les nouveaux utilisateurs 10G flux, juste pour pratiquer sans douleur.

