Python으로 타오바오 빠른 주문 자동화 구현하기

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)의 값을 변경하세요.
  • 구매 희망 시간的几분 전에 스크립트를 실행하고 로그인을 완료해야 합니다.
  • 네트워크 지연 시간을 고려하여 목표 시간을 약간 앞서 설정하는 것이 좋습니다.

태그: python selenium automation webdriver taobao

5월 21일 04:48에 게시됨