Cách Sử Dụng Proxy với Undetected ChromeDriver trong 2026
TL;DR
Một proxy Undetected ChromeDriver chưa được phát hiện phải được cấu hình trước khi Chrome khởi động. Đường dẫn đáng tin cậy nhất là --proxy-server với một điểm cuối HTTP, HTTPS hoặc SOCKS không tương tác được cấp phép bởi IP.
Undetected ChromeDriver không ẩn địa chỉ IP của bạn. Mô tả dự án của chính nó nói rằng gói này sửa đổi hành vi của Selenium ChromeDriver; định tuyến mạng vẫn là trách nhiệm riêng biệt.
Chrome không chấp nhận username:password@host:port một cách đáng tin cậy trong --proxy-server. Xử lý một thử thách 407 thông qua quy trình xác thực CDP đã được kiểm tra, một cầu kết hợp cục bộ được quản lý, hoặc ủy quyền IP bên nhà cung cấp.
Khởi động lại trình duyệt khi thay đổi điểm cuối proxy. Tái sử dụng một driver sau khi thay đổi ChromeOptions không định tuyến lại quy trình Chrome hiện có.
Xác minh đường đi, trạng thái trang và nội dung dự kiến một cách riêng biệt. Một trang có thể tải qua proxy mong muốn nhưng vẫn là một tường đăng nhập, trang đồng ý, hoặc lỗi nhẹ.
Proxy Undetected ChromeDriver là gì?
Một proxy Undetected ChromeDriver là một điểm cuối proxy được gắn vào một quy trình Chrome được khởi chạy bởi gói Python undetected-chromedriver. Proxy thay đổi định tuyến mạng của trình duyệt, trong khi gói này điều chỉnh các tín hiệu tự động hóa trình duyệt đã chọn. Hai chức năng này là bổ sung nhưng độc lập.
Trang gói undetected-chromedriver hiện tại liệt kê phiên bản 3.5.5 và cảnh báo rõ ràng rằng gói này không ẩn địa chỉ IP hoặc đảm bảo kết quả. Ranh giới đó là quan trọng: việc sử dụng một proxy undetected chromedriver không làm cho việc tự động hóa trở nên vô hình, không vượt qua các kiểm soát truy cập, và không thay thế quyền truy cập vào một đối tượng mục tiêu.
Trải nghiem Nstproxy - Bat dau dung thu mien phi ngay
Đối với kiểm tra QA định vị được ủy quyền, giám sát trang công khai, và các bài kiểm tra hồi quy của trình duyệt, một đường đi ổn định từ Nstproxy Residential Prime Proxies có thể giữ bản sắc mạng tách biệt khỏi hồ sơ trình duyệt. Xem xét proxy, hồ sơ trình duyệt, cookie và tài khoản kiểm thử như một phiên trạng thái khi tính liên tục là quan trọng.
Cách Định Tuyến Proxy Hoạt Động Trong Undetected ChromeDriver
Định tuyến proxy hoạt động tại thời điểm khởi động Chrome thông qua một tham số dòng lệnh hoặc một trình xử lý xác thực cấp trình duyệt. Undetected ChromeDriver truyền các tùy chọn Chrome tương thích đến trình duyệt; nó không tiết lộ một API proxy cấp cao riêng biệt.
Yêu cầu
Cơ chế được khuyến nghị
Ranh giới hoạt động
Proxy HTTP hoặc HTTPS không có đăng nhập tương tác
--proxy-server=http://host:port
Cấu hình trước uc.Chrome()
Điểm cuối SOCKS5
--proxy-server=socks5://host:port
Xác nhận nơi DNS được giải quyết
Proxy username/password
Trình xử lý xác thực CDP hoặc một cầu cục bộ được duy trì
Kiểm tra với phiên bản Chrome chính xác
Điểm cuối khác nhau cho từng tác vụ
Tạo trình điều khiển mới cho mỗi điểm cuối
Đóng mọi quy trình cũ một cách sạch sẽ
Cổng xoay vòng bên nhà cung cấp
Giữ một cổng và thay đổi chính sách phiên được tài liệu hóa của nó
Hành vi xoay vòng thuộc về nhà cung cấp
Tài liệu hướng dẫn cấu hình proxy của Chromium giải thích cách Chrome ánh xạ các quy tắc proxy vào các lược đồ URL. Tài liệu trình duyệt Chrome của Selenium đề cập đến các tùy chọn Chrome và sự căn chỉnh phiên bản trình duyệt. Giữ Chrome, ChromeDriver, Selenium và gói Python tương thích như một nhóm.
Điều Kiện Tiên Quyết
Ví dụ HTTP trực tiếp đã được thực hiện với Python 3.12.13, undetected-chromedriver 3.5.5, Selenium 4.47.0, và Chrome 151.0.7922.138. Cài đặt gói trình duyệt chính xác trước:
Cấu hình thông tin xác thực proxy thông qua một trình quản lý bí mật hoặc biến môi trường được bảo vệ. Đừng cam kết một URL proxy hoàn chỉnh, in ra mật khẩu, hoặc đặt bí mật trong ảnh chụp màn hình. Sử dụng một trang mục tiêu được ủy quyền trả về một dấu hiệu đường đi hoặc IP công khai, và giới hạn thời gian tải trang và kịch bản.
Kết nối ChromeDriver Không Bị Phát Hiện Qua Nstproxy
Tạo một điểm cuối proxy được kiểm soát, gắn nó trước khi Chrome khởi động, và xác minh tuyến đường kết quả.
Hướng Dẫn Chi Tiết: Cách Sử Dụng Proxy ChromeDriver Không Bị Phát Hiện
Bạn có thể sử dụng proxy ChromeDriver không bị phát hiện thông qua bốn mẫu thực tiễn: một điểm cuối HTTP trực tiếp, một điểm cuối SOCKS5 trực tiếp, một trình xử lý thông tin xác thực, hoặc một nhóm trình duyệt có giới hạn. Bắt đầu với tuyến đường đơn giản nhất mà mô hình xác thực proxy của bạn hỗ trợ.
Phương Thức 1: Thêm Proxy HTTP hoặc HTTPS với ChromeOptions
Sử dụng --proxy-server khi điểm cuối không yêu cầu thách thức tên người dùng/mật khẩu tương tác. Điều này bao gồm một proxy kiểm tra cục bộ được ủy quyền và các điểm cuối nhà cung cấp mà mô hình truy cập đã được xử lý bên ngoài Chrome.
import json
import os
import undetected_chromedriver as uc
from selenium.webdriver.common.by import By
defmain(): options = uc.ChromeOptions() options.add_argument(f"--proxy-server={os.environ['PROXY_URL']}") options.add_argument("--headless=new") options.add_argument("--no-first-run") driver = uc.Chrome(options=options, version_main=151, use_subprocess=False)try: driver.set_page_load_timeout(15) driver.get(os.environ["TARGET_URL"]) result = json.loads(driver.find_element(By.ID,"result").text)assert result["route"]== os.environ["EXPECTED_ROUTE"]print(result)finally: driver.quit()if __name__ =="__main__": main()
Fixture được thực thi trả về {'route': 'basic-18680', 'authenticated': True, 'target': 'http://fixture.test/items'}. Việc xác minh tuyến đường chứng minh rằng Chrome đã truy cập trang kiểm tra thông qua điểm cuối đã chỉ định; xác minh nội dung ngăn một vận chuyển thành công bị nhầm lẫn với một trang hữu ích.
Đừng đặt http:// trong một trường máy chủ riêng biệt vì Chrome mong đợi một URI proxy hoàn chỉnh trong cờ này. Hướng dẫn cấu hình proxy Python và quay vòng được cung cấp các mẫu rộng hơn cho việc xử lý môi trường và thiết kế nhóm.
Phương Thức 2: Cấu Hình một Proxy SOCKS5
Sử dụng một URI socks5:// khi điểm cuối proxy và quy trình mục tiêu của bạn yêu cầu SOCKS5. Trình duyệt vẫn nhận cài đặt trước khi khởi động, vì vậy vòng đời giống như Phương Thức 1.
import os
import undetected_chromedriver as uc
options = uc.ChromeOptions()options.add_argument(f"--proxy-server=socks5://{os.environ['PROXY_HOST']}:{os.environ['PROXY_PORT']}")options.add_argument("--headless=new")driver = uc.Chrome(options=options, version_main=151)try: driver.set_page_load_timeout(15) driver.get(os.environ["TARGET_URL"])print(driver.title)finally: driver.quit()
This block is configuration-verified against the same ChromeOptions path as the live HTTP test; supply a real authorized SOCKS5 endpoint before accepting it in production. Check DNS behavior with a controlled hostname because local versus remote name resolution can change both privacy and failure modes.
Method 3: Handle an Authenticated Proxy with CDP
Use a Chrome DevTools Protocol authentication handler when the proxy responds with HTTP 407 and direct --proxy-server=user:pass@host:port fails. Chrome deliberately separates the proxy address from the authentication exchange.
The following advanced pattern uses Undetected ChromeDriver's documented CDP event listener. It is version-sensitive and must be exercised against the exact Chrome build in staging before use; the current environment verified the event and command schema but could not complete a credentialed browser run.
Never embed credentials in the Python file. If CDP authentication is unstable on your platform, use a maintained local forwarder that authenticates upstream and exposes a loopback-only non-authenticated endpoint to Chrome. Avoid copying Manifest V2 extension snippets: current Chrome extension and command-line policies have changed, so older authentication-extension examples may silently fail.
Method 4: Rotate Proxies by Restarting the Browser
Rotate endpoints by creating one browser per selected proxy and closing it before the next route. ChromeOptions is consumed at process startup; changing the Python object afterward does not reconfigure an existing browser.
import os
import undetected_chromedriver as uc
defrun_one(proxy_url, target_url): options = uc.ChromeOptions() options.add_argument(f"--proxy-server={proxy_url}") options.add_argument("--headless=new") driver = uc.Chrome(options=options, version_main=151)try: driver.set_page_load_timeout(15) driver.get(target_url)return{"proxy": proxy_url,"title": driver.title}finally: driver.quit()pool =[ os.environ["PROXY_URL_A"], os.environ["PROXY_URL_B"],]results =[run_one(proxy, os.environ["TARGET_URL"])for proxy in pool]print(results)
Keep the pool bounded, place unhealthy routes on cooldown, and set a finite retry budget. Do not retry non-idempotent actions such as purchases or form submissions automatically. The web scraping IP rotation guide explains rotation policies, while a provider-side rotating gateway can avoid a new browser for every exit IP when session continuity is not required.
How to Verify the Proxy Without Trusting One Signal
Proxy verification should prove the route, transport result, and page meaning independently. A visible IP change is useful, but it does not establish that the requested content is correct.
Open an authorized IP or route-check endpoint immediately after launch.
Compare its returned route or IP with the expected proxy session.
Confirm a page-specific marker such as a heading, stable ID, or schema field.
Log only a non-secret route ID, timing, status class, and terminal error category.
Use driver.current_url, a stable element, and a small sanitized result object rather than dumping page_source. For recurring errors, the proxy server error troubleshooting guide helps distinguish authentication, timeout, tunnel, and target-response failures.
Common Undetected ChromeDriver Proxy Errors
Undetected ChromeDriver proxy errors usually come from authentication, browser-driver mismatch, DNS, or process lifecycle problems rather than the add_argument() call itself.
Symptom
Likely cause
Fix
ERR_NO_SUPPORTED_PROXIES
URI mang lại thông tin xác thực hoặc kiểu không được hỗ trợ
Chỉ truyền vào kiểu, máy chủ và cổng; xử lý xác thực riêng biệt
HTTP 407
Thiếu hoặc bị từ chối thông tin xác thực proxy
Xác minh tên người dùng/mật khẩu kênh và trình xử lý xác thực
ERR_NAME_NOT_RESOLVED
Proxy không hoạt động hoặc đường dẫn DNS khác biệt
Xác nhận lộ trình trước với một tên máy chủ điều khiển
phiên làm việc không được tạo
Phiên bản chính của Chrome và driver khác nhau
Cập nhật bộ cùng nhau hoặc truyền giá trị version_main phù hợp
Lộ trình đầu tiên hoạt động, lộ trình thứ hai không hoạt động
Quy trình Chrome hiện có đã giữ proxy ban đầu
Thoát và tạo một driver mới
Trang tải nhưng dữ liệu không đúng
Khối mềm, trang đăng nhập, hoặc địa phương khác
Thêm khẳng định trang ngữ nghĩa
Không phản hồi với các lỗi phát hiện hoặc kiểm soát truy cập bằng cách tăng cường độ. Giảm mức độ đồng thời, kiểm tra các điều khoản và quyền truy cập, và coi từ chối lặp lại như một trạng thái cuối cùng.
Khi Nstproxy Phù Hợp Với Quy Trình Này
Nstproxy Residential Prime Proxies phù hợp với các quy trình trình duyệt cần lựa chọn vị trí và phiên kiểm soát thông qua các điểm cuối proxy được xác thực. Thách thức hoạt động chính là giữ cho hồ sơ trình duyệt, phiên proxy và trạng thái kiểm tra được đồng bộ, đặc biệt khi một nhiệm vụ kéo dài qua nhiều lần tải trang. Nstproxy tài liệu hóa các tham số vị trí và phiên dựa trên tên người dùng, vì vậy một lộ trình trình duyệt cố định có thể sử dụng hành vi quay vòng hoặc dính tùy thuộc vào điểm cuối được tạo. Sản phẩm cung cấp các mô hình thanh toán theo gói và trả theo mức sử dụng, cho phép các nhóm chọn mô hình dựa trên lưu lượng dự kiến thay vì một khuyến nghị chung. Xác thực Chrome vẫn cần một trong những con đường tích hợp đã kiểm tra ở trên; dịch vụ proxy không thay đổi quy tắc xử lý thông tin xác thực của Chrome.
Kiểm soát phiên: Sử dụng một định danh phiên đã được tài liệu hóa cho một hành trình trạng thái và một định danh mới chỉ tại một ranh giới nhiệm vụ an toàn.
Lựa chọn vị trí: Tạo vị trí cần thiết trong bảng điều khiển và xác minh kết quả quan sát thay vì suy ra địa lý từ tên máy chủ.
Chỉ sử dụng Undetected ChromeDriver cho các thử nghiệm được ủy quyền, các quy trình dữ liệu công khai và các trang mà điều khoản của họ cho phép hoạt động này. Từ “undetected” là tên gói, không phải là lời hứa về sự vô hình hoặc quyền được vượt qua các kiểm soát.
Giữ cho mức độ đồng thời đủ thấp cho dịch vụ mục tiêu và proxy, giảm thiểu dữ liệu thu thập, và chỉ giữ lại những gì nhiệm vụ yêu cầu. Dừng lại khi bị từ chối truy cập thay vì cố gắng tránh CAPTCHA, né lệnh cấm tài khoản, hoặc thay đổi danh tính liên tục. Bảo vệ thông tin xác thực trong kho lưu trữ bí mật và xóa địa chỉ URL của proxy khỏi nhật ký.
Kết Luận
Mô hình proxy Undetected ChromeDriver đáng tin cậy rất đơn giản: chọn một cơ chế định tuyến, cấu hình nó trước khi Chrome bắt đầu, xác minh lộ trình và đóng trình duyệt trước khi thay đổi các điểm cuối. Cấu hình trực tiếp --proxy-server là điểm khởi đầu tốt nhất; các lộ trình có thông tin xác thực và quay vòng cần xử lý chu kỳ và xác thực rõ ràng.
Bắt đầu với một mục tiêu được ủy quyền và một dấu hiệu lộ trình, sau đó thêm một nhóm có giới hạn chỉ sau khi các kiểm tra chấp nhận thông qua. Đối với các hoạt động đa nguồn lớn hơn, hãy xem xét Nstproxy Proxy Manager để định tuyến và giám sát tập trung thay vì nhúng logic điểm cuối vào mã thử nghiệm.
Trải Nghiệm Nstproxy — Bắt Đầu Dùng Thử Miễn Phí Ngày Hôm Nay
Có. Undetected ChromeDriver chấp nhận cài đặt proxy Chrome thông qua ChromeOptions, bao gồm --proxy-server cho các lộ trình HTTP, HTTPS và SOCKS được Chrome hỗ trợ.
Q: Tôi có thể đưa tên người dùng và mật khẩu vào URL proxy không?
Không có quy trình đáng tin cậy nào xuyên phiên bản nên giả định rằng user:password@host:port hoạt động trong đối số --proxy-server của Chrome. Chuyển địa chỉ proxy riêng và xử lý thách thức xác thực 407 thông qua một luồng CDP đã kiểm tra, cầu nối địa phương được duy trì, hoặc phương thức ủy quyền được nhà cung cấp hỗ trợ.
Q: Tại sao proxy hoạt động trong yêu cầu nhưng thất bại trong Chrome?
Chrome và một khách hàng HTTP có các ngăn xếp proxy và xác thực khác nhau. Kiểm tra kiểu proxy, đường dẫn DNS, cách Chrome xử lý 407, chính sách chặn TLS, và xem liệu trình duyệt có tải một trang lỗi proxy hay không.
Q: Tôi có thể thay đổi proxy mà không khởi động lại Undetected ChromeDriver không?
Không đáng tin cậy với các tham số khởi động. Sử dụng một cổng xoay phía nhà cung cấp để xoay ẩn sau một địa chỉ, hoặc đóng trình điều khiển và khởi động một quá trình Chrome mới cho một điểm cuối khác.
H: Liệu undetected-chromedriver có ngăn chặn các khối không?
Không. Gói này thay đổi các tín hiệu tự động hóa được chọn nhưng không đảm bảo quyền truy cập, và trang gói chính thức của nó cho biết nó không ẩn địa chỉ IP.
H: Sử dụng proxy Undetected ChromeDriver có hợp pháp không?
Sử dụng proxy và tự động hóa trình duyệt có thể là hợp pháp, nhưng tính hợp pháp phụ thuộc vào quyền hạn, điều khoản mục tiêu, loại dữ liệu, quyền tài phán và mục đích. Sử dụng các mục tiêu đã được phê duyệt, giảm thiểu thu thập, và xin tư vấn pháp lý cho các quy trình nhạy cảm hoặc có quy định.
6 Máy chủ MCP tốt nhất cho Cursor trong năm 2026
So sánh tập trung vào quyết định giữa GitHub, Context7, Playwright, Firecrawl và một mẫu MCP hỗ trợ Crawl được kiểm soát cho Cursor.
Lena Zhou
Aug. 21st 2026
110M+ IP that voi ti le truy cap thanh cong 99.9%
Phan hoi trung binh ~0.5s cho tac vu dong thoi cao
Chi tu $0.1/GB
Truy cap ngay cac pool proxy residential, datacenter, IPv6 va ISP cao cap.