วิธีตั้งค่าพร็อกซีที่มีการยืนยันตัวตนใน Selenium WebDriver

อัปเดตเมื่อ:

คำสั่งมาตรฐานของ ChromeDriver อย่าง --proxy-server=http://ip:port จะละเว้นข้อมูลบัญชี user:pass ที่แนบมา และจะเด้งหน้าต่างถามรหัสผ่านขึ้นมาขัดจังหวะการทำงานอัตโนมัติ ในการใช้งานพร็อกซี HTTP(S) ของ VinaProxy ใน Selenium อย่างราบรื่น ขอแนะนำให้ส่งค่าผ่าน selenium-wire หรือโหลดส่วนขยายเบื้องหลังขนาดเล็ก onAuthRequired ของ Chrome เข้ามาช่วย

Selenium · HTTP Proxy Format
http://user:pass@ip:port (selenium-wire / Chrome proxy extension)
IPv4 ส่วนตัว (Datacenter)
🇺🇸 United States
มีสินค้า
เริ่มต้น
₫20,000 / IP / เดือน
≈ US$0.74 · ชำระเป็น VND
ส่วนลดตามจำนวนการสั่งซื้อ
  • 1 IP₫40,000
  • 5+ IP₫35,000
  • 10+ IP₫25,000
  • 20+ IP₫25,000
  • 50+ IP₫25,000
  • 100+ IP₫25,000
  • 200+ IP₫25,000
  • 500+ IP₫25,000
  • 1000+ IP₫22,000
  • 2000+ IP₫20,000
ซื้อ United States
ISP Residential แบบคงที่
🇺🇸 United States
มีสินค้า
เริ่มต้น
₫55,000 / IP / เดือน
≈ US$2.04 · ชำระเป็น VND
ส่วนลดตามจำนวนการสั่งซื้อ
  • 1 IP₫75,000
  • 3+ IP₫70,000
  • 5+ IP₫65,000
  • 10+ IP₫60,000
  • 50+ IP₫60,000
  • 100+ IP₫60,000
  • 200+ IP₫60,000
  • 500+ IP₫55,000
ซื้อ United States
พร็อกซีตามแพลตฟอร์ม:web-scrapingseo-rank-trackingamazon

สองวิธีที่เชื่อถือได้ในการยืนยันตัวตนพร็อกซีใน Selenium

เลือกแนวทางที่เหมาะสมกับภาษาและไดรเวอร์เบราว์เซอร์ของคุณ:

แนวทางรูปแบบไวยากรณ์การตั้งค่าเหมาะสำหรับ
selenium-wire (Python)seleniumwire_options={'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}ตั้งค่าง่ายที่สุดใน Python รองรับการสลับเปลี่ยน IP พร็อกซีแบบเรียลไทม์ระหว่างทำงาน
ส่วนขยาย Chrome Authโหลดส่วนขยาย ZIP ที่จัดการ chrome.webRequest.onAuthRequiredSelenium มาตรฐานใน Python, Java, C# และ undetected-chromedriver
เปลี่ยนไปใช้ Playwrightbrowser.newContext({ proxy: { server, username, password } })รองรับการยืนยันตัวตนพร็อกซีระดับ Context โดยไม่ต้องพึ่งพาส่วนขยายใดๆ

เคล็ดลับเพิ่มประสิทธิภาพสำหรับงานสแครปปิ้ง Selenium ผ่านพร็อกซี

  • กำหนด options.page_load_strategy = 'eager' เพื่อให้ WebDriver เริ่มทำงานได้ทันทีที่โครงสร้าง DOM พร้อม โดยไม่ต้องรอตัวติดตามของบุคคลที่สามที่โหลดช้า
  • ใช้ตัวเลือก --headless=new (Chrome 109+) เมื่อรันแบบไม่แสดงหน้าจอ เพื่อให้ส่วนขยายและการยืนยันตัวตนของพร็อกซีทำงานได้เหมือนกับโหมดปกติ
  • ปิดการโหลดรูปภาพในการตั้งค่าของ Chrome เมื่อเก็บเฉพาะข้อมูลตัวหนังสือ เพื่อประหยัดแบนด์วิดท์และเพิ่มความเร็วในการโหลด
  • ครอบโค้ดการทำงานไว้ในบล็อก try / finally: driver.quit() เสมอ เพื่อป้องกันไม่ให้มีโปรเซส Chromium ค้างในระบบ

ขั้นตอนทีละขั้น

  1. 1

    ติดตั้ง selenium-wire

    รันคำสั่ง pip install selenium-wire ในสภาพแวดล้อมเสมือนของ Python

  2. 2

    กำหนดค่าดิกชันนารีพร็อกซี VinaProxy

    จัดรูปแบบข้อมูล: sw_options = {'proxy': {'http': 'http://user:pass@ip:port', 'https': 'http://user:pass@ip:port'}}

  3. 3

    เปิดใช้งาน webdriver.Chrome พร้อม seleniumwire_options

    เริ่มต้นสร้างออบเจกต์: driver = webdriver.Chrome(seleniumwire_options=sw_options)

  4. 4

    ตรวจสอบหมายเลข IP ขาออก

    นำทางไปที่ driver.get('https://vinaproxy.com/api/my-ip') และยืนยันว่าการตอบกลับแบบ JSON แสดง IP ของพร็อกซี

คำถามที่พบบ่อย

ทำไมการตั้งค่า '--proxy-server=http://user:pass@ip:port' ใน ChromeOptions จึงใช้ไม่ได้?

Chromium ถูกออกแบบมาให้ตัดข้อมูล user:pass@ ออกจากพารามิเตอร์คำสั่ง --proxy-server การใช้ selenium-wire, ส่วนขยาย onAuthRequired หรือการเปลี่ยนไปใช้ Playwright จะช่วยแก้ปัญหานี้ได้อย่างสมบูรณ์

สามารถเปลี่ยนพร็อกซีโดยไม่ต้องรีสตาร์ท Chrome ใน selenium-wire ได้หรือไม่?

ได้ คุณสามารถกำหนดค่าดิกชันนารีใหม่ให้กับ driver.proxy = {'http': 'http://...', 'https': 'http://...'} ได้ตลอดเวลาเพื่อเปลี่ยนพร็อกซีแบบเรียลไทม์

ส่วนขยายพร็อกซีของ Chrome ทำงานในโหมด Headless ได้หรือไม่?

ทำงานได้ ตราบใดที่คุณส่งค่าพารามิเตอร์ --headless=new แทนที่จะใช้คำสั่งเก่า --headless

รัน Selenium WebDriver ในระดับสเกลใหญ่ด้วย IP นิ่งไม่จำกัดปริมาณข้อมูล

พร็อกซี IPv4 ส่วนตัวและ Static ISP พร้อมใช้งานทันทีใน 7 ประเทศ

ซื้อพร็อกซีสำหรับ Selenium

บทความที่เกี่ยวข้อง

พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ Web Scraping: พูล IPv4 และ ISP แบบเฉพาะไม่จำกัด สำหรับบอทดูดข้อมูล 24/7
พร็อกซี HTTP(S) IPv4 แบบเฉพาะและ ISP แบบคงที่ความเร็วสูงสำหรับ Python, Playwright, Selenium และ Scrapy พร้อมแบนด์วิดท์รายเดือนไม่จำกัด
วิธีตั้งค่าพร็อกซี
วิธีตั้งค่าพร็อกซีใน Playwright (การยืนยันตัวตนระดับเบราว์เซอร์และราย Context)
กำหนดค่า HTTP(S) proxy พร้อมการยืนยันตัวตนใน Playwright สำหรับ Node.js และ Python ใช้งานหลาย IP แบบคงที่แยกจากกันบน BrowserContext
วิธีตั้งค่าพร็อกซี
วิธีใช้พร็อกซีใน Python Requests (HTTP/HTTPS และการรวม Session Pooling)
วิธีกำหนดค่าพร็อกซี HTTP(S) ที่มีรหัสผ่านใน Python requests และ requests.Session() วิธีแก้ปัญหา 407 ProxyError และการหมุนเวียนพูล IP นิ่ง
วิธีตั้งค่าพร็อกซี
วิธีตั้งค่าพร็อกซีพร้อมยืนยันตัวตนใน Puppeteer (Node.js)
วิธีกำหนดค่า HTTP(S) proxy พร้อมการยืนยันตัวตนใน Node.js Puppeteer ด้วยแฟล็ก --proxy-server และเมธอด await page.authenticate()
พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ SEO และติดตามอันดับ SERP: แสดงอันดับคำค้นหาที่แม่นยำใน 7 ประเทศ
ติดตามอันดับคีย์เวิร์ดระดับท้องถิ่น ตรวจสอบการเปลี่ยนเส้นทางตามพิกัดภูมิศาสตร์ และรัน Screaming Frog ด้วยพร็อกซี IPv4 แบบเฉพาะและ ISP แบบคงที่ไม่จำกัดแบนด์วิดท์
พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ Amazon: แยกบัญชี Seller Central, KDP และ Merch ออกจากกันด้วย IP คงที่
ป้องกันการโดนระงับบัญชีที่เชื่อมโยงกัน (Related Accounts) บน Amazon Seller Central, KDP และ Merch ด้วยพร็อกซี ISP คงที่ของสหรัฐฯ และ IPv4 ส่วนตัวของอังกฤษ/ญี่ปุ่น
IPV4 · united states
พร็อกซี IPv4 สหรัฐฯ ส่วนตัว: IP ดาต้าเซ็นเตอร์อเมริกาความเร็วสูงเฉพาะคุณ
พร็อกซี IPv4 ส่วนตัวสหรัฐฯ สำหรับดึงข้อมูล เช็กอันดับ ตรวจสอบโฆษณา และรีเสิร์ช Amazon มี IP คงที่ ใช้คนเดียว แบนด์วิดท์ไม่จำกัด เปิดใช้งานไว
ISP · united states
พร็อกซี ISP คงที่สหรัฐฯ: IP อเมริกาแบบคงที่ เสมือนเชื่อมต่อจากอินเทอร์เน็ตบ้าน
พร็อกซี ISP สหรัฐฯ แบบคงที่จดทะเบียนกับค่ายเน็ตบ้าน เป็น IP อเมริกาแท้สำหรับผู้ขาย Amazon บัญชีโฆษณา และ Instagram แบนด์วิดท์ไม่จำกัด