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/

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
317 [flask 트랜드 홈페이지 개발] 10 - 다음 뉴스 키워드로 크롤링 file 졸리운_곰 2020.12.03 399
316 [python 트랜드 홈페이지개발] 9 - Flask POST file 졸리운_곰 2020.12.03 344
315 [python 트랜드 홈페이지개발] 8 - 약간의 레이아웃 설정하기 file 졸리운_곰 2020.12.03 518
314 [python 트랜드 홈페이지개발] 7 - 개요 file 졸리운_곰 2020.12.03 550
313 [python 트랜드 홈페이지개발] 6 - href 연결하기 file 졸리운_곰 2020.12.03 604
312 [python 트린드 홈페이지개발] 5 - 다른 페이지 크롤링 file 졸리운_곰 2020.12.01 506
311 [python 트린드 홈페이지개발] 4 - flask에 css 적용하기 file 졸리운_곰 2020.12.01 569
310 [python 트린드 홈페이지개발] 3 - 크롤링한 데이터 html에 보여주기 file 졸리운_곰 2020.12.01 546
309 [python 트린드 홈페이지개발] 2 - flask 프로젝트 생성, 세팅 file 졸리운_곰 2020.12.01 460
308 [python 트린드 홈페이지개발] 1 - 트렌드 홈페이지 개발 개요 file 졸리운_곰 2020.12.01 450
307 Flask 에서 CKEditor 파일첨부 연동 졸리운_곰 2020.11.26 631
306 플라스크 (Flask) - 회원가입 기능 만들기 (MVC 패턴 ) file 졸리운_곰 2020.11.26 518
305 Django 장고 텍스트에디터 사용하기(CKeditor) file 졸리운_곰 2020.11.22 933
304 Django Traffic Monitor + 트래픽 초과 알림 file 졸리운_곰 2020.11.22 513
303 네이버 사전에 네이버 번역 API 연동하기 (파파고) file 졸리운_곰 2020.11.21 815
302 PS4 프로 자동 구입 매크로 만들기 -5- file 졸리운_곰 2020.11.21 461
301 PS4 프로 자동 구입 매크로 만들기 -4- file 졸리운_곰 2020.11.21 585
300 PS4 프로 자동 구입 매크로 만들기 -3- file 졸리운_곰 2020.11.21 585
» PS4 프로 자동 구입 매크로 만들기 -2- file 졸리운_곰 2020.11.21 512
298 PS4 프로 자동 구입 매크로 만들기 -1- file 졸리운_곰 2020.11.21 517
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED