Tùy chọn 1: danh sách trắng IP (dùng cho máy phục vụ)#
Gởi IPv4 công cộng bị hạn chế của máy phục vụ này trong khả năng truy cập và đợi nhà quản trị hoạt động. NAT hoặc PN có thể thay đổi địa chỉ thấy bởi cổng ra. Quyền truy cập không mật khẩu hoạt động chỉ sau khi mục này được xác nhận cho dịch vụ đã chỉ định. Xác nhận quốc gia và tùy chọn phiên chạy riêng; một danh sách cho phép nguồn không gửi thông tin tên người dùng. danh sách ghi rõ
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()Tùy chọn 2: #
Thí dụ sử dụng trình duyệt Mạng và trình điều khiển của Selenium được bảo trì. Trình quản lý không bị giới hạn với một máy, vì vậy hãy sử dụng một phiên chạy trình duyệt riêng lẻ không có dấu nhắc xác thực không liên quan. Nếu khả năng xác thực proxy không được hỗ trợ trong phiên bản của bạn, hãy sử dụng danh sách IP.
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)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 promptQuy tắc thực tiễn#
- Dùng bộ nhận diện phiên chạy riêng cho mỗi luồng làm việc độc lập, nơi mà cổng được chỉ định hỗ trợ nó. Xác nhận khoảng thời gian và thông số vị trí cho phép trong chi tiết kết nối của bạn. Một thiết bị cư trú có thể ngắt kết nối trước khi yêu cầu; một phiên chạy dính không phải là bảo đảm cùng một IP trong ngày. Đối với địa chỉ cố định, hãy so sánh một sản phẩm tĩnh đã đóng.
- Dùng
--headless=newtrong Chrome; chế độ không đầu cũ có một dấu vân tay đặc biệt. - Hãy bắt đầu với một số ít công nhân, đo lỗi và giao thông, và tăng dần dần trong giới hạn được xác nhận cho thứ tự và đích. Một thành phố hẹp hoặc người chở có thể giảm khả năng.
Người ta thắc mắc#
Tại sao Chrome lại có dấu hiệu đăng nhập với Selenium?
Dùng danh sách mã nguồn được kích hoạt cho một máy phục vụ cố định, hoặc thử ra bộ quản lý xác thực WebDevi của Selenium hiện thời với trình duyệt đã cài đặt. Đừng phụ thuộc vào một thiết lập kiểu Selenium có khả năng tích hợp mới.