ادغام · متوسط

استفاده از پروکسی با Selenium WebDriver (Chrome و فایرفاکس)

قبل از باز کردن مرورگر، احراز هویت پشتیبانی شده توسط مرورگر خود و نسخه Selenium را انتخاب کنید. An Active Source-IP Allowlist برای یک سرور ثابت مفید است. Current Selenium همچنین WebDriver BiDi Authentication handlers را افشا می کند؛ تأیید احراز هویت پروکسی با ترکیب دقیق مرورگر شما. Selenium Wired است و تنظیمات پیش فرض توصیه نمی شود.

2 دقیقه خواندن 4 بخش بازبینی‌شده تیم تحریریه Proxy Cyber

ارسال IPv4 عمومی واقعی سرور در دسترس و انتظار برای فعال سازی مدیر. NAT یا VPN ممکن است آدرس دیده شده توسط دروازه را تغییر دهد. دسترسی بدون رمز عبور تنها پس از تأیید برای خدمات اختصاص داده شده است. تایید کشور و گزینه های جلسه به طور جداگانه؛ یک منبع-IP اجازه می دهد لیست پارامترهای نام کاربری ارسال نمی کند. سفید لیست سفید

پایتون، Chrome، سرور سفید لیست شده
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()

گزینه 2: WebDriver BiDi Authentication #

این مثال از WebDriver BiDi API، با فعال bidi و network.add auth handler استفاده می کند. تست یک چالش پروکسی HTTP با مرورگر نصب شده و راننده قبل از استفاده از آن در یک کار محدود به یک میزبان نیست، بنابراین از یک جلسه مرورگر جدا شده بدون تأیید هویت نامرتبط استفاده کنید.

پایتون، 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)

فایرفاکس#

پایتون، فایرفاکس
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

قوانین عملی#

  • از یک شناسه جلسه متمایز برای هر جریان کاری مستقل استفاده کنید، جایی که دروازه اختصاص داده شده از آن پشتیبانی می کند. اعتبارسنجی مجاز مدت و پارامترهای مکان در جزئیات اتصال شما را تأیید می کند.یک دستگاه مسکونی می تواند قبل از مدت درخواست شده قطع شود؛ یک جلسه چسبنده تضمین کننده همان IP برای روزها نیست.
  • استفاده از Use --headless=new در Chrome؛ حالت قدیمی بدون سر اثر انگشت متمایزی دارد.
  • شناسه های جلسه جداگانه تنظیمات مسیریابی را جدا می کنند، نه کوکی های مرورگر و یا حالت درخواست، با تعداد کمی از کارکنان شروع کنید، خطاها و ترافیک را اندازه گیری کنید و به تدریج در محدوده های تأیید شده برای سفارش و مقصد افزایش دهید. انتخاب شهری یا حامل می تواند ظرفیت موجود را کاهش دهد.

پرسش هایی که مردم می پرسند#

چرا Chrome یک ورودی پروکسی را با Selenium نشان می دهد؟

از یک منبع فعال برای یک سرور ثابت استفاده کنید، یا تست Selenium’s فعلی WebDriver BiDi Authentication handler با مرورگر نصب شده است.

حساب کاربری شما

همهٔ پروکسی‌ها را در یک حساب مدیریت کنید

مقایسه شبکه ها، سفارش مکان و پیگیری تعادل و درخواست های پشتیبانی خود را از یک داشبورد.تیم ما پرداخت ها را بررسی می کند و جزئیات اتصال را پس از تحویل فراهم می کند.

ایجاد حساب