Integraties · Gemiddeld

Gebruik van proxies met Selenium WebDriver (Chrome en Firefox)

Configureer de proxy voordat u de browser opent en kies vervolgens de authenticatie ondersteund door uw browser en Selenium-versie. Een geactiveerde bron-IP-toestemmingslijst is nuttig voor een vaste server. Huidig Selenium stelt ook WebDriver BiDi-aanmelders bloot; verifieer proxy-authenticatie met uw exacte browsercombinatie. Selenium Wire wordt gearchiveerd en is niet de standaard aanbevolen instelling.

2 minuten lezen 4 secties Gecontroleerd Redactie Proxy Cyber

Stuur de server factly outbound public IPv4 in Access en wacht op activering van de beheerder. NAT of een VPN kan het adres wijzigen dat door de gateway wordt gezien. Password-free access werkt alleen nadat de ingang is bevestigd voor de toegewezen dienst. Bevestig land- en sessieopties afzonderlijk; een bron-IP-toestemmingslijst stuurt geen gebruikersnaamparameters. witte lijst

Python, Chrome, server op de witte lijst
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

opts = Options()
opts.add_argument("--proxy-server=http://res.proxy-cyber.com:9000")
opts.add_argument("--headless=new")
driver = webdriver.Chrome(options=opts)
driver.get("https://api.ipify.org")
print(driver.find_element("tag name", "body").text)
driver.quit()

Optie 2: WebDriver BiDi-authenticatie #

Het voorbeeld maakt gebruik van Selenium

Python, WebDriver BiDi
import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.enable_bidi = True
options.add_argument("--proxy-server=" + os.environ["PROXY_SERVER"])

with webdriver.Chrome(options=options) as driver:
    handler = driver.network.add_auth_handler(
        os.environ["PROXY_USER"], os.environ["PROXY_PASSWORD"]
    )
    try:
        driver.get("https://api.ipify.org")
        print(driver.find_element("tag name", "body").text)
    finally:
        driver.network.remove_auth_handler(handler)

Firefox#

Python, Firefox
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

opts = Options()
opts.set_preference("network.proxy.type", 1)
opts.set_preference("network.proxy.http", "res.proxy-cyber.com")
opts.set_preference("network.proxy.http_port", 9000)
opts.set_preference("network.proxy.ssl", "res.proxy-cyber.com")
opts.set_preference("network.proxy.ssl_port", 9000)
opts.set_preference("media.peerconnection.enabled", False)  # no WebRTC leak
driver = webdriver.Firefox(options=opts)  # whitelisted server, no prompt

Praktische regels#

  • Gebruik een aparte sessie-identificatie voor elke onafhankelijke workflow, waar de toegewezen gateway het ondersteunt. Bevestig de toegestane duur en locatieparameters in uw verbindingsdetails. Een residentieel apparaat kan voor de gewenste duur worden verbroken; een plakkerige sessie is geen garantie van hetzelfde IP voor dagen. Voor een vast adres, vergelijk een specifiek statisch product.
  • Gebruik --headless=new in Chrome; de oude hoofdloze modus heeft een opvallende vingerafdruk.
  • Aparte sessie-identificaties isoleren routeringsvoorkeuren, niet de browser-cookies of toepassingstoestand. Begin met een klein aantal werknemers, meet fouten en verkeer, en neemt geleidelijk toe binnen de grenzen die bevestigd zijn voor uw bestelling en de bestemming. Een smalle stad of carrier selectie kan de beschikbare capaciteit verminderen.

Vragen die mensen stellen#

Waarom toont Chrome een proxy login prompt met Selenium?

Gebruik een geactiveerde source-IP-allowlist voor een vaste server, of test Seleniums huidige WebDriver BiDi authenticatie handler met de geïnstalleerde browser. Vertrouw niet op een gearchiveerde Selenium Wire installatie voor een nieuwe integratie.

Uw rekening

Beheer uw proxy's in één account

Vergelijk netwerken, plaats bestellingen en volg uw saldo en ondersteuningsverzoeken vanaf één dashboard. Ons team beoordeelt betalingen en verstrekt verbindingsgegevens na levering.

Account aanmaken