사실 그냥 클릭 몇번하면 되지만 그냥 만들어봄
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 os
from tkinter import *
def start_process():
# 크롬 웹드라이버 불러오기(같은폴더에 넣음)
chromedriver_path = os.path.join(
os.path.dirname(os.path.abspath(__file__)), "chromedriver"
)
driver = webdriver.Chrome(executable_path=chromedriver_path)
# 로그인 페이지 접속
driver.get("https://www.dhlottery.co.kr/user.do?method=login&returnUrl=")
# 아이디 , 비번 입력받은 변수
username = entry_username.get()
password = entry_password.get()
window.destroy()
# 1. 페이지 접속이 완료되면 아이디 비번 입력
username_field = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "input#userId"))
)
password_field = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "input[name='password']"))
)
username_field.send_keys(username)
password_field.send_keys(password)
# 로그인 버튼 클릭
login_button = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "a.btn_common.lrg.blu"))
)
login_button.click()
# 메인페이지로 돌아오면 충전 버튼 클릭
time.sleep(2)
recharge_button = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "a.btn_common.sml"))
)
recharge_button.click()
# 2초 기다린후 5000원 선택 value값 자기가 원하는 값으로 변경
time.sleep(2)
select_amount = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable((By.CSS_SELECTOR, "select#Amt"))
)
select_amount.find_element(By.CSS_SELECTOR, "option[value='5000']").click()
# 충전 버튼 클릭
ok_button = WebDriverWait(driver, 10).until(
EC.element_to_be_clickable(
(By.CSS_SELECTOR, "button[onclick='settleBankStart()']")
)
)
ok_button.click()
# 브라우저 종료여부 묻기
close_browser = input("브라우저를 종료하시겠습니까? (yes/no): ").lower().strip()
if close_browser == "yes":
driver.quit()
# 메인 윈도우
window = Tk()
window.title("동행복권 자동화")
window.geometry("260x150")
# 아이디 테이블
Label(window, text="아이디:").grid(row=0, column=0, padx=10, pady=10, sticky=W)
entry_username = Entry(window)
entry_username.grid(row=0, column=1, padx=10, pady=10, sticky=W)
# 비밀번호 테이블
Label(window, text="비밀번호:").grid(row=1, column=0, padx=10, pady=10, sticky=W)
entry_password = Entry(window, show="*")
entry_password.grid(row=1, column=1, padx=10, pady=10, sticky=W)
# 시작 버튼
start_button = Button(window, text="매크로시작", command=start_process)
start_button.grid(row=2, column=1, padx=10, pady=10, sticky=E)
# 루프 시작
window.mainloop()
'Python' 카테고리의 다른 글
로또 번호 추출기 파이썬 코드 (실행파일 포함) (0) | 2023.05.16 |
---|---|
Python Django를 이용한 블로그 만들기 -2 (0) | 2023.04.20 |
Google Drive API 이용한 조카 덕질. (ver 1.0.0) (0) | 2023.04.19 |