1. Selenium 라이브러리 설치
Selenium은 다양한 웹 브라우저를 자동화할 수 있는 강력한 도구입니다. 이 가이드에서는 Firefox 브라우저를 사용하겠습니다.
설치 명령어:
pip install selenium
설치가 완료되면 Successfully installed selenium-버전 메시지가 출력됩니다.
2. 웹 드라이버 설정
Firefox 브라우저를 자동화하려면 geckodriver가 필요합니다.
다운로드 주소:
https://github.com/mozilla/geckodriver/releases
다운로드한 파일의 압축을 풀고 Python 설치 경로의 Scripts 폴더에 저장하세요.
설치 확인:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('https://www.baidu.com')
위 코드가 정상적으로 실행되어 브라우저가 열리면 설정이 완료된 것입니다.
3. 자동 주문 스크립트
from selenium import webdriver
import datetime
import time
import os
def initialize_browser():
"""브라우저 초기화 및 창 최대화"""
browser = webdriver.Firefox()
browser.maximize_window()
return browser
def perform_login(browser):
"""타오바오 로그인 및 장바구니 준비"""
browser.get("https://www.taobao.com")
time.sleep(3)
# 로그인 버튼이 있으면 클릭
if browser.find_element_by_link_text("亲,请登录"):
browser.find_element_by_link_text("亲,请登录").click()
print("QR 코드 스캔을 20초 내에 완료해주세요")
time.sleep(20)
# 장바구니 페이지로 이동
browser.get("https://cart.taobao.com/cart.htm")
time.sleep(3)
# 전체 선택 버튼 클릭
if browser.find_element_by_id("J_SelectAll1"):
browser.find_element_by_id("J_SelectAll1").click()
current_time = datetime.datetime.now()
print(f'로그인 성공: {current_time.strftime("%Y-%m-%d %H:%M:%S")}')
def execute_purchase(browser, target_time):
"""지정된 시간에 주문 실행"""
while True:
current_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
# 목표 시간 이후结算 및 주문 제출
if current_time > target_time:
try:
#结算 버튼 클릭
if browser.find_element_by_id("J_Go"):
browser.find_element_by_id("J_Go").click()
#주문 제출
browser.find_element_by_link_text('提交订单').click()
except Exception:
time.sleep(0.1)
print(current_time)
time.sleep(0.1)
if __name__ == "__main__":
browser = initialize_browser()
perform_login(browser)
#抢购 시간 형식: "2021-01-16 15:08:00.000000"
execute_purchase(browser, "2021-01-16 15:08:00.000000")
4. 사용 시 유의사항
- 이 스크립트는 QR 코드 로그인 방식을 사용합니다. 로그인 대기 시간을 조절하려면
time.sleep(20)의 값을 변경하세요. - 구매 희망 시간的几분 전에 스크립트를 실행하고 로그인을 완료해야 합니다.
- 네트워크 지연 시간을 고려하여 목표 시간을 약간 앞서 설정하는 것이 좋습니다.