Selenium에서 프록시 사용 방법
Chrome에서 Selenium은 --proxy-server 플래그에 사용자 이름과 비밀번호를 받아들이지 않아요. 가장 간단한 방법은 로그인을 처리해 주는 selenium-wire를 사용하는 거예요.
단계
- pip install selenium-wire로 selenium-wire 설치
- seleniumwire_options에 사용자 이름과 비밀번호가 포함된 프록시 URL 전달
- 드라이버를 시작하고 대상 페이지 열기
- 전체 테스트 동안 하나의 IP를 유지하려면 세션 ID 사용
예제 코드
from seleniumwire import webdriver
proxy = "http://USERNAME-cc-ca:PASSWORD@gw.gbproxies.cc:10000"
driver = webdriver.Chrome(seleniumwire_options={
"proxy": {"http": proxy, "https": proxy, "no_proxy": "localhost,127.0.0.1"}
})
driver.get("https://api.ipify.org")
print(driver.find_element("tag name", "body").text)
driver.quit()프록시 콘솔의 Proxies 페이지에서 프록시 로그인 정보로 USERNAME과 PASSWORD를 입력하세요. 포트 10000은 residential HTTP용이에요. 각 제품의 포트는 아래에서 확인할 수 있어요.
팁
- Chrome 환경설정에서 이미지를 끄고 GB 절약
- 고정 세션당 하나의 드라이버 실행
자주 묻는 질문
추가 패키지 없이 일반 Selenium을 사용할 수 있나요?
Chrome는 프록시 로그인을 위해 확장 프로그램이나 selenium-wire가 필요해요. Firefox는 프로필에서 자격 증명을 읽을 수 있어요.