PS4 프로 자동 구입 매크로 만들기 -2-

과도한 매크로 사용은 서버에 큰 부담이 될 수 있으므로 반복적인 작업을 자동화 하거나 테스트 용도로 한정해서 사용하시기 바랍니다. 매크로 사용 시 발생하는 모든 문제에 대한 책임은 전적으로 매크로 사용자 본인에게 있습니다.

 

지난 포스팅에서 브라우저를 띄우는 데까지 성공 했습니다.

 

if __name__ == "__main__":
    driver = webdriver.Firefox()
    driver.wait = WebDriverWait(driver, 2)

    driver.get("http://google.com")

 

이처럼 driver가 셀레늄의 webdriver 인스턴스이고 실제 셀레늄에서 제공하는 많은 기능들을 다 이 driver를 통해서 사용합니다. 더 많은 기능을 알고 싶거나 예습이 필요하면 아래 사이트를 방문해 보세요. 참고로 selenium도 그렇고 이 업계에는 한글로 된 문서가 거의 없습니다.

http://selenium-python.readthedocs.io/index.html 

https://www.guru99.com/selenium-tutorial.html

 

다시 위 소스로 돌아가서 첫 두 줄은 뭔가 초기화 하는 부분이고 driver.get()은 특정 사이트로 접속하는 건데 이런 사소한 건 그냥 그런갑다 하고 복사 붙여넣기 하시면 됩니다. 우리에게 중요한 건 어떻게 사이트를 분석해서 자동으로 입력을 처리하느냐이지 책 보듯 소스를 공부하는 건 필요 없으니까요. 따라서 앞으로도 소스 한 줄 한 줄은 따로 설명하지 않습니다.  이런 기능을은 이렇게 구현한다는 걸 예시를 보여드리니 복사 붙여넣기로 쓰시거나 본인의 상황에 맡게 살짝 수정 및 응용해서 사용하시면 됩니다.

 

시나리오 만들기

우선 디자인을 해 봅시다. 직접 쇼핑몰에 접속 해 물건 하나 구입할 때 필요한 작업들을 단계별로 진행하면서 과정을 적어보세요. 그리고 각 과정에서 내 손으로 입력해야 되는 부분도 같이 체크해 봅니다. 이 부분이 실제로 코딩을 해야 되는 부분입니다.

 

1. 홈페이지 접속

2. 로그인 링크 누름

3. 아이디/패스워드 입력 후 로그인 버튼 누름

4. 구입하려는 물품 페이지로 이동

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

5. 재고여부 확인

    5-1. 품절이면 새로고침

    5-2. 구입 가능하면 바로 구매하기 버튼 누름

6. 주문서 작성 후 결제하기버튼 누름

 

콘솔게임 국내판매 1위 쇼핑몰에서 해보니 위와 같은 시나리오가 나왔습니다. 미리 말씀드립니다만 이 과정에서 주문서 완료하는 데 까지만 예제를 드리고 시간이 되면 다른 쇼핑몰 하나 더 선정해서 예제를 만들어 보겠습니다. 이후 과정 및 원하는 시나리오 적용 등은 스스로 응용해 보세요.

 

다시 시나리오에서 사실 1과 2는 하나로 합칠 수 있습니다. 바로 로그인 링크로 접속하면 되죠. 이 시나리오를 코드로 표현해 보면 아래와 같습니다.

 

#-*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

WAITTIME = 1000
SLEEPSEC = 5
LOOP = 3 # -1 for infinite

HOMEPAGE = "http://gamewoori.com/shop/member.html?type=login"
ITEMURL = "http://gamewoori.com/shop/shopdetail.html?branduid=885806&xcode=009&mcode=001&scode=&type=X&search=&sort=regdate"

def login(driver):
    print 'login 처리 함수'

def checkStock(driver, i):
    print '재고 확인 함수'

def checkout(driver):
    print '구매하기 누르는 함수'

def order(driver):
    print '주문서 작성 함수'

if __name__ == "__main__":
    driver = webdriver.Firefox()
    driver.wait = WebDriverWait(driver, 2)

    driver.get(HOMEPAGE)

    login(driver)
    driver.get(ITEMURL)

    i = 1
    while(checkStock(driver, i)):
        i += 1
        time.sleep(SLEEPSEC)
        if (i > LOOP and LOOP != -1):
            break
        driver.get(ITEMURL)

    checkout(driver)

    order(driver)

 

쉽죠? 이제 우리는 맨 위에 있는 login 부터 order 까지 함수 4개만 작성하면 됩니다. 다음 포스팅에서는 자동 로그인을 만들어 보도록 하겠습니다.

 

[출처] https://gencode.me/blogs/post/44/

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
57 [python 인공지능] Deploy ML models with FastAPI, Docker, and Heroku | Tutorial 졸리운_곰 2025.07.08 467
56 [python 인공지능] [VSCode] VSCode에서 ipynb 파일을 HTML(PDF 등..)로 졸리운_곰 2025.05.27 289
55 [Python 인공지능] [파이썬을 이용한 한글 NLP] 03. 간단한 키워드 추출기 졸리운_곰 2025.01.29 459
54 [Python 인공지능] [ 한글 키워드 시각화 ] 파이썬 python 텍스트 마이닝 한글 ( 워드 클라우드 WordCloud, squrify 트리맵으로 빅데이터 마스터) file 졸리운_곰 2025.01.29 398
53 [Python 인공지능] 기계 학습의 A to Z : IPython notebook과 scikit-learn을 활용한 기계 학습 file 졸리운_곰 2024.08.10 523
52 [python] 인공지능 python : 한글 문서 자동 요약 - lexrank 졸리운_곰 2023.07.06 404
51 [python] 인공지능 katiehouse / django-scikit-learn-tutorial file 졸리운_곰 2023.06.03 664
50 [python] [Anaconda]가상환경 설치,삭제 file 졸리운_곰 2022.12.03 405
49 [python][머신러닝] Scikit-learn Tutorial: Machine Learning in Python file 졸리운_곰 2022.11.29 497
48 [python] 파이썬(sklearn) 사이킷런(sklearn) 기초 졸리운_곰 2022.08.20 321
47 [python] scikit-learn이란 file 졸리운_곰 2022.08.20 455
46 [anaconde3][python] Create environment for tensorflow 1.4 in Anaconda 3 졸리운_곰 2022.07.02 563
45 [python][인공지능] [TensorFlow] Anaconda 가상환경 이용하여 TensorFlow GPU 설치 졸리운_곰 2022.01.20 438
44 [Python 인공지능] TextRank 를 이용한 키워드 추출과 핵심 문장 추출 (구현과 실험) file 졸리운_곰 2021.11.22 597
43 [python][인공지능] FLASK를 이용하여 PYTHON에서 PYTORCH를 REST API로 배포하기 졸리운_곰 2021.03.20 364
42 [python 파이썬] Creating REST API for TensorFlow models file 졸리운_곰 2021.02.01 488
41 [python 파이썬 인공지능] Keras 모델을 REST API로 배포해보기 file 졸리운_곰 2021.02.01 411
40 [파이썬 머신러닝] Scikit-learn 기초 졸리운_곰 2020.01.31 579
39 파이썬으로 간단한 뉴럴 네트워크 만들기 How to Create a Simple Neural Network in Python file 졸리운_곰 2020.01.29 22636
38 Keras를 활용한 주식 가격 예측 file 졸리운_곰 2019.02.25 983
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED