728x90
Selenium을 사용하여 밴드웹 초기화면에서 로그인 성공까지 자동화를 구현하였습니다.
ID가 있는 경우 ID를 우선적으로 사용하였고 없는 경우 Class_name 과 xpath를 적절하게 사용하여 구현하였습니다.
인터넷 환경에 따라 로딩이 느릴 수 있다고 생각하여 동작별로 2초 간격을 추가하였습니다.
로그인 화면은 대부분 비슷하게 구현이 되어있기 때문에 네이버나 다른 사이트 로그인에서도 참고하면 자동 로그인 기능을 사용할 수 있습니다.
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
import time
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get('https://band.us/home')
time.sleep(2)
driver.find_element(By.CLASS_NAME, 'button._loginBtn').click() #로그인 버튼 클릭
time.sleep(2)
driver.find_element(By.ID, 'email_login_a').click() #이메일 입력 버튼 클릭
time.sleep(2)
driver.find_element(By.ID, 'input_email').send_keys('계정이메일입력') #이메일 입력
time.sleep(2)
driver.find_element(By.XPATH, '//form[@id="email_login_form"]/button').click() #확인 버튼 클릭
time.sleep(2)
driver.find_element(By.ID, 'pw').send_keys('PW입력') #비밀번호 입력
time.sleep(2)
driver.find_element(By.XPATH, '//form[@id="email_password_login_form"]/button').click() #확인 버튼 클릭
time.sleep(2)
밴드웹 로그인시 reCAPTCHA가 뜨는 경우가 있는데 이 때는 수동으로 해줘야 하는 점이 아쉬웠습니다.
다음에는 해당 케이스도 자동화로 성공할 수 있는지 조사한 후 업데이트 해보도록 하겠습니다.

728x90
'자동화 > Selenium' 카테고리의 다른 글
AWS 인스턴스 환경 세팅 절차 Selenium 자동화로 구현하기 (0) | 2024.02.02 |
---|---|
Selenium 텍스트 입력창 지우는 방법들 (Clear, Keys..) (1) | 2024.02.02 |
Selenium 대기 방식 실행 시간 비교해보기 (Wait, Sleep) (0) | 2024.02.01 |
지역 아파트 순위 자동화로 추출하여 엑셀에 저장하기 (With Python) (0) | 2023.03.23 |
Selenium Element Click이 실패할 때 사용할 수 있는 대안 방법들 (1) | 2023.03.13 |