Cách Cài Đặt Selenium Python Proxy Chống Block IP
Selenium python proxy là cách giúp anh em tự động hóa trình duyệt linh hoạt hơn khi cần kiểm thử, thu thập dữ liệu hoặc vận hành nhiều phiên truy cập. Trong bài viết này, ProxyVN sẽ hướng dẫn cách cài đặt proxy trong Selenium bằng Python, kèm kinh nghiệm thực tế để hạn chế lỗi mất kết nối và bị chặn IP.
Cách dùng Selenium python proxy ổn định, dễ hiểu
Vì sao Selenium python proxy quan trọng khi chạy automation?
Khi anh em dùng Selenium để điều khiển trình duyệt, toàn bộ truy cập sẽ đi qua IP thật nếu không có proxy. Nhưng khi cần chạy nhiều phiên, kiểm thử theo khu vực hoặc truy cập liên tục, IP thật rất dễ bị giới hạn.

Sử dụng proxy với selenium
Proxy giúp Selenium đi qua một địa chỉ IP trung gian. Nhờ đó, anh em có thể kiểm soát luồng truy cập tốt hơn và giảm rủi ro bị chặn IP.
Một số lợi ích dễ thấy:
-
Kiểm thử website theo nhiều vị trí khác nhau.
-
Tách từng phiên làm việc bằng từng proxy riêng.
-
Giảm lỗi khi gửi nhiều request trong thời gian ngắn.
-
Hỗ trợ vận hành tool, crawler hoặc kịch bản kiểm thử dài.
Theo kinh nghiệm ProxyVN thường gặp, nhiều lỗi automation không đến từ code. Script có thể đúng, WebDriver vẫn chạy, nhưng proxy yếu làm trình duyệt timeout, mất kết nối hoặc bị trả lỗi 403. Vì vậy, proxy nên được xem là một phần quan trọng của hệ thống, không phải bước thêm vào cho có.
Chuẩn bị môi trường Selenium python proxy
Trước khi cấu hình proxy, anh em nên dựng môi trường Python gọn gàng. Cách này giúp dễ biết lỗi nằm ở Selenium, ChromeDriver hay proxy.

Chrome Driver
Kiểm tra Python và cài thư viện
Anh em mở terminal hoặc command prompt rồi chạy:
python --version
pip install selenium
pip install webdriver-manager
Nếu kết quả là Python 3.x, anh em có thể tiếp tục. webdriver-manager giúp tự quản lý ChromeDriver theo phiên bản Chrome, giảm lỗi khi trình duyệt cập nhật.
Code khởi động Selenium cơ bản:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(
service=ChromeService(ChromeDriverManager().install())
)
driver.get("https://example.com/")
driver.quit()
Nếu đoạn này chạy ổn, môi trường đã sẵn sàng. Lúc đó, anh em mới nên thêm proxy vào.
Cách thiết lập Selenium python proxy bằng Selenium Wire
Selenium mặc định có thể cấu hình proxy. Tuy nhiên, nếu proxy cần username và password, thao tác sẽ rườm rà hơn. Selenium Wire giúp việc xác thực proxy trong Python dễ hơn và rõ ràng hơn.
Cài Selenium Wire
Anh em cài thêm gói sau:
pip install selenium-wire
Sau đó dùng WebDriver từ Selenium Wire:
from seleniumwire import webdriver
Cấu hình proxy HTTP(S) có xác thực
Với proxy có tài khoản, anh em đặt thông tin theo dạng URL:
from seleniumwire import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
proxy_options = {
"proxy": {
"http": "http://USER:PASSWORD@ENDPOINT",
"https": "https://USER:PASSWORD@ENDPOINT",
}
}
driver = webdriver.Chrome(
service=ChromeService(ChromeDriverManager().install()),
seleniumwire_options=proxy_options
)
driver.get("https://example.com/")
driver.quit()
Trong đó, USER là username, PASSWORD là mật khẩu, còn ENDPOINT là host và port proxy. Ví dụ dễ hiểu là abc.proxy.vn:12345.
Nếu proxy không cần xác thực, anh em chỉ dùng dạng http://ENDPOINT. Nếu không muốn để thông tin proxy trong code, có thể dùng biến môi trường:
export HTTP_PROXY="http://USER:PASSWORD@ENDPOINT"
export HTTPS_PROXY="https://USER:PASSWORD@ENDPOINT"
Dùng SOCKS5 và xoay IP với Selenium python proxy
Không phải dự án nào cũng dùng HTTP proxy. Một số trường hợp cần SOCKS5 vì giao thức này linh hoạt.
Thiết lập SOCKS5 proxy
Cách cấu hình SOCKS5 gần giống HTTP(S). Anh em chỉ cần đổi phần đầu URL thành socks5://.
proxy_options = {
"proxy": {
"http": "socks5://USER:PASSWORD@ENDPOINT",
"https": "socks5://USER:PASSWORD@ENDPOINT",
"no_proxy": "localhost,127.0.0.1"
}
}
driver = webdriver.Chrome(seleniumwire_options=proxy_options)
driver.get("https://example.com/")
driver.quit()
Nếu proxy không có username và password, anh em bỏ phần USER:PASSWORD@.
Khi nào nên xoay IP?
Proxy xoay IP phù hợp khi anh em chạy nhiều lượt truy cập trong thời gian ngắn. Nếu chỉ dùng một IP, website có thể nhận diện tần suất bất thường và trả về captcha, timeout hoặc lỗi 403.
Cách triển khai đơn giản là tạo danh sách proxy, sau đó chọn ngẫu nhiên một proxy cho mỗi phiên trình duyệt.
import random
from seleniumwire import webdriver
PROXIES = [
"http://USER:[email protected]:8000",
"http://USER:[email protected]:8000",
"http://USER:[email protected]:8000",
]
random_proxy = random.choice(PROXIES)
proxy_options = {
"proxy": {
"http": random_proxy,
"https": random_proxy,
}
}
driver = webdriver.Chrome(seleniumwire_options=proxy_options)
driver.get("https://example.com/")
driver.quit()
Một lưu ý nhỏ: trong Selenium Python, anh em nên dùng driver.get() thay vì driver.visit(). Nhiều người copy code từ nhiều nguồn khác nhau nên dễ nhầm hàm, khiến lỗi trở nên khó tìm.
Kinh nghiệm xử lý lỗi Selenium python proxy
Trong thực tế, lỗi proxy với Selenium thường đến từ nhiều lớp. Anh em nên kiểm tra lần lượt: môi trường Python, ChromeDriver, proxy, tốc độ mạng và hành vi truy cập.
Code đúng nhưng vẫn bị 403
Một case ProxyVN từng gặp là script kiểm thử chạy ổn ở 20 trang đầu, nhưng bắt đầu lỗi 403 khi tăng lên vài trăm trang. Ban đầu, team nghĩ do Selenium bị website phát hiện. Sau khi kiểm tra log, vấn đề chính nằm ở proxy miễn phí: IP bị nhiều người dùng chung, tốc độ không đều và lịch sử IP kém sạch.

Sử dụng proxy miễn phí gây lỗi 403
Khi đổi sang nhóm proxy chất lượng hơn, đồng thời thêm thời gian chờ ngẫu nhiên giữa các lượt truy cập, tỷ lệ lỗi giảm rõ. Bài học ở đây là anh em không nên chỉ sửa code. Hãy kiểm tra cả chất lượng IP, độ ổn định mạng và nhịp chạy automation.
Checklist xử lý lỗi nhanh
Nếu gặp lỗi, anh em có thể kiểm tra theo danh sách sau:
-
Lỗi xác thực: kiểm tra lại username, password, host và port.
-
Lỗi timeout: thử proxy khác hoặc tăng thời gian chờ.
-
Lỗi 403: giảm tần suất truy cập, đổi IP, thêm delay tự nhiên.
-
Lỗi SSL: kiểm tra giao thức HTTP(S) và cấu hình chứng chỉ.
-
Lỗi ChromeDriver: cập nhật Chrome, Selenium và webdriver-manager.
-
Lỗi mất kết nối: kiểm tra proxy trước khi sửa code.
Proxy miễn phí có thể dùng để học thử, nhưng không nên dùng cho dự án cần tính ổn định. IP thường bị dùng chung nhiều, dễ chậm và dễ mất kết nối. Với automation phục vụ công việc, proxy lỗi nhiều có thể làm anh em tốn thời gian hơn chi phí tiết kiệm được.
Chọn ProxyVN cho Selenium python proxy ổn định hơn
Khi chạy Selenium, điều anh em cần không chỉ là một IP mới. Anh em cần kết nối ổn định, proxy phản hồi đều và có đội hỗ trợ khi phát sinh lỗi. Đây là điểm ProxyVN tập trung khi cung cấp dịch vụ proxy cho nhu cầu automation, kiểm thử và vận hành tool.
ProxyVN phù hợp với anh em cần:
-
Mạng kết nối ổn định khi chạy tool.
-
Proxy chất lượng, hạn chế mất kết nối.
-
Hỗ trợ kỹ thuật khi proxy hoặc tool gặp lỗi.
-
Trải nghiệm triển khai rõ ràng cho dự án Python.
-
Giảm rủi ro gián đoạn khi chạy tác vụ dài.
Tóm lại, Selenium python proxy giúp anh em tự động hóa trình duyệt ổn định hơn, kiểm soát IP tốt hơn và giảm lỗi khi chạy tool. Để triển khai hiệu quả, hãy chuẩn bị môi trường đúng, chọn proxy phù hợp và ưu tiên chất lượng kết nối. Anh em có thể tham khảo Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam.