반응형
매번 까먹는 출근도장을 자동으로 찍을 수 있게 만들어보자.
방법은 파이선을 사용해 웹페이지 크롤링 하는 방식으로 진행하였다.
Slenium 및 WebDriver설치
터미널에
pip3 install selenium
autoLogin.py
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
from selenium.webdriver.common.keys import Keys
import time
# 첫 번째와 두 번째 커맨드 라인 인자를 읽습니다.
# username = sys.argv[1]
# password = sys.argv[2]
driver = webdriver.Safari()
driver.get('https://flex.team/home') # 웹페이지를 엽니다.
# 입력 필드가 로딩될 때까지 기다립니다.
email_field = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, 'radix-:r0:'))
)
# 입력 필드에 텍스트를 입력합니다.
email_field.send_keys('플렉스개인이메일아이디' + Keys.RETURN)
# 비밀번호 입력 필드가 로딩될 때까지 기다립니다.
password_field = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, 'radix-:rf:'))
)
# 비밀번호 입력 필드에 텍스트를 입력합니다.
password_field.send_keys('플렉스비밀번호' + Keys.RETURN)
time.sleep(10)
# ?? 사이드바 펼치기
# c-bIRrzL c-bIRrzL-dcxSjI-size-default c-bIRrzL-lbEVww-variant-ghost c-bIRrzL-ibjCwas-css
# c-bIRrzL c-bIRrzL-dcxSjI-size-default c-bIRrzL-lbEVww-variant-ghost c-bIRrzL-ibjCwas-css
button0 = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.c-bIRrzL.c-bIRrzL-dcxSjI-size-default.c-bIRrzL-lbEVww-variant-ghost.c-bIRrzL-ibjCwas-css'))
)
button0.click()
time.sleep(3)
# ?? 근무시작버튼 클릭
button1 = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.c-bIRrzL.c-gNtnBi.c-bIRrzL-glaMVD-size-default.c-bIRrzL-duTMEK-variant-outline.c-bIRrzL-icJWhYr-css.c-toRGo'))
)
button1.click()
time.sleep(3)
# ?? 사무실근무 버튼 클릭
button2 = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.c-eECIIA'))
)
button2.click()
time.sleep(3)
# ?? 근무 시작 클릭
button3 = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.CSS_SELECTOR, '.c-eTLAUT'))
)
button3.click()
time.sleep(3)
driver.quit()
단독 실행파일로 만들기
pyinstaller 설치
터미널에
pip3 install pyinstaller
pyinstaller설치후에 zsh문제로 설치가 되어있지 않다고 한다면
open -e ~/.zshrc
아래 줄 추가 후 파일 저장 (이부분은 설치위치에 따라 달라짐)
export PATH="/Users/Name/Library/Python/3.9/bin:$PATH"
터미널을 닫고 다시 열어
source ~/.zshrc
버전확인
pyinstaller --version
단독파일로 만드는 명령어 (뒤에 파일 경로를 맞춰줘야 할 수도 있음)
sudo pyinstaller --onefile --windowed autoLogin.py
변환된 애플리케이션은 /Users/Name/Library/Python/3.9/lib/python/site-packages/my_script/dist/ 폴더 안에 생성
컴터켤때 실행파일이 자동으로 실행되게 하기
System settings > General > Login Items 로 진입
Open at Login에 해당 앱 추가
반응형