make-quant-py/example/9-1-selenium.py

58 lines
1.7 KiB
Python

import os
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
from bs4 import BeautifulSoup
from dotenv import load_dotenv
load_dotenv()
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
# 동행복권 사이트로 이동
# url = 'https://dhlottery.co.kr/'
url = 'https://dhlottery.co.kr/user.do?method=login&returnUrl='
driver.get(url)
time.sleep(2)
# ID 입력
driver.find_element(By.ID, value = 'userId').send_keys(os.getenv('DH_ID'))
# 패스워드 입력
driver.find_element(By.NAME, value = 'password').send_keys(os.getenv('DH_PW'))
# 로그인 실행
driver.find_element(By.XPATH, value = '//*[@id="article"]/div[2]/div/form/div/div[1]/fieldset/div[1]/a').click()
time.sleep(2)
# 메인에서 뜨는 팝업 닫기
while len(driver.window_handles) > 1:
driver.switch_to.window(driver.window_handles[len(driver.window_handles) - 1])
driver.close()
time.sleep(2)
driver.switch_to.window(driver.window_handles[0])
# 로또 구매창 선택
driver.find_element(By.XPATH, value='//*[@id="gnb"]/ul/li[1]/a').click()
driver.find_element(By.XPATH, value='//*[@id="gnb"]/ul/li[1]/div/ul/li[1]/a').click()
time.sleep(2)
driver.switch_to.window(driver.window_handles[1])
# 여기부터는 다시 확인 필요
# 자동 번호 선택
driver.find_element(By.XPATH, value='//*[@id="num2"]').click()
time.sleep(1)
# 구매 수량 선택
driver.find_element(By.XPATH, value='//*[@id="amoundApply"]').send_keys(Keys.CONTROL, '5')
time.sleep(1)
driver.find_element(By.XPATH, value='//*[@id="btnSelectNum"]').click()
while True:
time.sleep(3)