Comment utiliser des proxies avec Selenium
Chrome dans Selenium n'accepte pas un nom d'utilisateur et mot de passe dans le drapeau --proxy-server. La méthode la plus simple est selenium-wire, qui gère la connexion pour vous.
Étapes
- Installez selenium-wire avec pip install selenium-wire
- Passez l'URL du proxy avec nom d'utilisateur et mot de passe dans seleniumwire_options
- Démarrez le pilote et ouvrez la page cible
- Utilisez un ID de session pour garder une IP pour tout le test
Exemple de code
from seleniumwire import webdriver
proxy = "http://USERNAME-cc-ca:PASSWORD@gw.gbproxies.cc:10000"
driver = webdriver.Chrome(seleniumwire_options={
"proxy": {"http": proxy, "https": proxy, "no_proxy": "localhost,127.0.0.1"}
})
driver.get("https://api.ipify.org")
print(driver.find_element("tag name", "body").text)
driver.quit()Remplacez USERNAME et PASSWORD par les identifiants proxy de la page Proxies de la console. Le port 10000 est HTTP résidentiel ; voir les ports de chaque produit ci-dessous.
Conseils
- Désactivez les images avec les préférences Chrome pour économiser des GB
- Exécutez un pilote par session persistante
Questions fréquentes
Puis-je utiliser Selenium brut sans packages supplémentaires ?
Chrome a besoin d'une extension ou de selenium-wire pour les connexions proxy ; Firefox peut lire les identifiants depuis un profil.