שילובים · ביניים

שימוש בפרוקסי עם Selenium WebDriver (Chrome ו-Firefox)

הגדר את ה-proxy לפני פתיחת הדפדפן, ולאחר מכן בחר אימות נתמך על ידי הדפדפן שלך וגרסת סלניום. רשימת ההיתר של מקור IP מופעלת שימושית עבור שרת קבוע. סלניום הנוכחי גם חושף מנהלי התקנים של WebDriver BiDi; לאמת אימות פרוקסי עם שילוב הדפדפן המדויק שלך. חוט סלניום הוא בארכיון ואינו ההגדרה המומלצת כברירת מחדל.

2 דקות קריאה 4 חלקים חוות דעת צוות העריכה Proxy Cyber

הגישה ללא סיסמה עובדת רק לאחר אישור הכניסה לשירות המוקצה. יש לאשר את אפשרויות המדינה וההפעלה בנפרד; רשימת ההיתר של מקור-IP אינה שולחת פרמטרים של כתובות. רשימת לבנים

Python, 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: אימות BiDi WebDriver #

הדוגמה משתמשת ב- WebDriver BiDi API המותאם ל-WebDriver של Selenium, עם enable_bidi ו- network.add_auth_handler. בדוק אתגר HTTP פרוקסי עם הדפדפן המותקן והנהג לפני השימוש בו בעבודה. המטפל אינו מוגבל למארח אחד, לכן השתמש בהפעלה מבודדת של דפדפן ללא הנחיות לא רצויות. אם אימות פרוקסי אינו נתמך בשילוב הגרסה שלך, השתמש ברשימת היתרי IP פעילה.

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)

פיירפוקס#

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

כללים מעשיים#

  • השתמש במזהה הפעלה נפרד עבור כל זרימת עבודה עצמאית, שבה השער שהוקצה תומך בו. אשר את הפרמטרים המותרים של משך ומיקום בפרטי החיבור שלך. התקן מגורים יכול להתנתק לפני משך הזמן המבוקש; הפעלה דביקה אינה ערובה לאותו IP במשך ימים. עבור כתובת קבועה, השווה מוצר סטטי ייעודי.
  • שימוש --headless=new ב-Chrome; למצב חסר הראש הישן יש טביעת אצבע ייחודית.
  • מזהה הפעלה נפרדת את העדפות ניתוב הבידוד, לא את קובצי ה-Cookie של הדפדפן או את מצב היישום. התחל עם מספר קטן של עובדים, למדוד שגיאות ותעבורה, ולהגדיל בהדרגה בתוך המגבלות שאושרו להזמנה שלך ואת היעד. עיר צרה או בחירת ספקים יכולה להפחית את קיבולת זמינה.

שאלות שאנשים שואלים#

מדוע Chrome מציג שורת כניסה של פרוקסי עם סלניום?

השתמש ברשימת ההיתר של מקור-IP פעילה עבור שרת קבוע, או בדוק את מנהל ההתקן הנוכחי של Selenium עם הדפדפן המותקן. אל תסמוך על התקנת סלניום תיל בארכיון לשילוב חדש.

החשבון שלך

נהלו את כל הפרוקסי בחשבון אחד

השווה רשתות, לבצע הזמנות ולעקוב אחר בקשות האיזון והתמיכה שלך מלוח מחוונים אחד. הצוות שלנו סוקר תשלומים ומספק פרטי חיבור לאחר הלידה.

יצירת חשבון