Selenium(셀레니움) 은 사용자가 아닌 프로그램이 웹 브라우저를 제어할 수 있게 해 주는 라이브러리입니다. Selenium 은 서버와 클라이언트로 나누는데, 웹 브라우저 종류 마다 클라이언트 프로그램이 별도로 필요합니다. 이전에 Selenium 라이브러리를 설치하고 웹 브라우저 제어를 위한 드라이버 다운로드 방법에 대해 알았습니다. 오늘은 티스토리 블로그 관리자 페이지를 로그인 해 보겠습니다.
▼ 먼저 Selenium 으로 로그인을 하려면 정보를 입력하고 클릭할 컨트롤들의 ID 를 알아야 합니다. 웹 페이지를 소스를 직접 열어서 확인할 수 있습니다. 크롬은 웹 페이지 컨트롤을 선택하면 소스에서 해당 tag 를 찾아 주는 편리한 기능이 있습니다. F12 를 눌러 개발자 도구를 띄웁니다. 그리고 개발자 도구 왼쪽 끝에 화살표 버튼을 누릅니다.
▼ 화살표 버튼이 활성화된 상태에서 화면에 컨트롤을 클릭하거나 마우스를 가져가 보세요. 개발자 도구 화면에서 해당 컨트롤의 소스 위치를 찾아 줍니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ Python(파이썬) 주석 처리와 단축키 사용하는 방법 ▶ 파이썬(Python) 기본 개발툴 IDLE 설치하는 방법 ▶ 파이썬(Python) 패키지 관리 툴 easy_install, pip 설치하는 방법 ▶ 파이썬(Python) 개발툴 PyCharm 테마 변경하는 방법 ▶ 파이썬 Python 사칙 연산, 주요 연산자 다루는 방법 |
▼ 아이디와 패스워드를 입력할 input 태그의 id 값을 알아냅니다.
▼ 로그인을 위한 아이디와 비밀번호 입력 컨트롤의 id 값을 알아 냈다면 WebDriver 의 find_element_by_id 함수로 컨트롤 객체를 가져옵니다. 그리고 send_keys() 함수로 로그인 아이디와 패스워드를 입력합니다.
login = driver.find_element_by_id("loginId") login.send_keys("dkjjaslfjdii") login = driver.find_element_by_id("loginPw") login.send_keys("******") |
▼ 로그인을 위한 입력이 끝났다면 버튼을 클릭해야 합니다. 위에서 아이디와 비밀번호 입력 태그를 찾던 방법으로 버튼 태그를 찾습니다.
▼ 태그를 선택하고 오른쪽 마우스를 눌러 Copy > Copy XPath 메뉴를 선택합니다. 왜 XPath 값을 복사할 까요? 태그 요소의 유일한 값인 id 가 없기 때문입니다. 대신 DOM 구조에서 위치를 나타내는 XPath 값을 알면 접근이 가능합니다.
▼ 함수는 find_element_by_xpath() 로 id 대신 xpath 가 붙었습니다. 따움표 “”” 와 XPath 값을 find_element_by_xpath() 함수의 파라미터로 넘깁니다. 함수는 click() 입니다. 사용자가 로그인을 위해 버튼을 클릭한 것과 같습니다.
driver.find_element_by_xpath("""//*[@id="authForm"]/fieldset/div/button""").click() |
전체 소스는 다음과 같습니다.
from selenium import webdriver # 다운받은 chromedriver의 위치를 지정해준다. driver = webdriver.Chrome('D:\Project\Python\chromedriver_win32\chromedriver.exe') driver.implicitly_wait(3) driver.get("http://mainia.tistory.com/admin/center/") login = driver.find_element_by_id("loginId") login.send_keys("gonhaha201@gmail.com") login = driver.find_element_by_id("loginPw") login.send_keys("****") driver.find_element_by_xpath("""//*[@id="authForm"]/fieldset/div/button""").click() |
▼ 소스를 실행한 결과 로그인에 성공했습니다. 이렇게 finde_element_by ~ 함수들을 이용해서 요소 객체를 가져오면 쉽게 제어할 수 있습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ Python(파이썬) 주석 처리와 단축키 사용하는 방법 ▶ 파이썬(Python) 기본 개발툴 IDLE 설치하는 방법 ▶ 파이썬(Python) 패키지 관리 툴 easy_install, pip 설치하는 방법 ▶ 파이썬(Python) 개발툴 PyCharm 테마 변경하는 방법 ▶ 파이썬 Python 사칙 연산, 주요 연산자 다루는 방법 |
'파이썬 Python' 카테고리의 다른 글
파이썬(Python) requests 설치하는 방법 (0) | 2023.10.08 |
---|---|
파이썬(Python) 주석 처리와 단축키 사용하는 방법 (9) | 2023.10.08 |
윈도우11 파이썬 Python 환경변수 PATH 설정하기 (0) | 2023.10.05 |
비주얼 스튜디오 코드에서 파이썬(Python) 개발 가상 환경 만들기 (1) | 2023.09.18 |
Python(파이썬) 셀레니움(Selenium) 이용해서 웹 크롤링 하는 방법 1 (0) | 2023.05.26 |
파이썬 Python 개발 도구 PyCharm 환경 설정 하는 방법 (1) | 2023.05.25 |
파이썬(Python) 코딩 블록 들여쓰기(Identation) 알아보기 (0) | 2023.05.25 |
파이썬(Python) selenium 업그레이드 하는 방법 (0) | 2022.12.05 |