본문 바로가기
1인사업과 경영

파이썬 셀레니움으로 자동화 프로그램 만드는 방법

by 호머 2023. 11. 30.

Automation

파이썬 셀레니움으로 자동화 프로그램 만드는 방법

들어가며

자동화는 현대 사회에서 필수적인 기술이 되었습니다. 파이썬 셀레니움(Selenium)은 웹 브라우저를 제어하여 자동화 작업을 수행하는 데 사용되는 강력한 도구입니다. 이 글에서는 파이썬 셀레니움을 이용하여 자동화 프로그램을 만드는 방법에 대해 설명하겠습니다. 이를 통해 생산성을 향상시키고 반복 작업을 자동화할 수 있습니다.

셀레니움 설치하기

셀레니움을 사용하기 위해 먼저 파이썬 환경에서 셀레니움을 설치해야 합니다. 아래의 명령어를 사용하여 셀레니움을 설치하세요.

 

pip install selenium

웹 드라이버 설정하기

셀레니움은 웹 브라우저를 제어하기 위해 웹 드라이버를 사용합니다. 다양한 웹 브라우저를 지원하며, 이용하고자 하는 웹 브라우저에 따라 해당 웹 드라이버를 설치해야 합니다. 예를 들어, 크롬 브라우저를 사용하려면 크롬 드라이버를 설치해야 합니다.

웹 드라이버는 셀레니움과 같은 폴더에 위치시키거나 시스템 경로에 추가하여 사용할 수 있습니다. 이후 셀레니움을 이용하여 웹 브라우저를 제어할 수 있습니다.

셀레니움 기본 사용법

셀레니움을 사용하여 웹 브라우저를 제어하는 예제를 살펴보겠습니다. 아래의 코드는 구글 검색창에 '셀레니움'이라는 키워드를 입력하고 검색 결과를 출력하는 예제입니다.

 

from selenium import webdriver

# 웹 드라이버 초기화 
driver = webdriver.Chrome('/path/to/chromedriver')

# 구글 접속 
driver.get('https://www.google.com') 

# 검색어 입력 
search_box = driver.find_element_by_name('q') 
search_box.send_keys('셀레니움') 

# 검색 실행 
search_box.submit() 

# 검색 결과 출력 
search_results = driver.find_elements_by_css_selector('h3')
	for result in search_results:
		print(result.text)
        
# 드라이버 종료
driver.quit()

 

자동화 프로그램 예제

셀레니움을 이용하여 다양한 자동화 프로그램을 만들 수 있습니다. 예를 들어, 웹 크롤링, 자동 로그인, 웹 페이지 스크린샷 등을 자동으로 수행할 수 있습니다. 아래의 예제는 네이버 로그인을 자동으로 수행하는 자동화 프로그램입니다.

 

from selenium import webdriver

driver = webdriver.Chrome('/path/to/chromedriver')

# 네이버 로그인 페이지 접속 
driver.get('https://nid.naver.com/nidlogin.login') 

# 아이디, 비밀번호 입력 
id_input = driver.find_element_by_id('id') 
pw_input = driver.find_element_by_id('pw')
id_input.send_keys('your_id') 
pw_input.send_keys('your_password')

# 로그인 버튼 클릭 
login_button = driver.find_element_by_css_selector('.btn_global')
login_button.click() 

# 자동 로그인 설정 (옵션)
stay_signed_in_checkbox = driver.find_element_by_id('chpt')
stay_signed_in_checkbox.click()

# 로그인 후 페이지 스크린샷 
driver.save_screenshot('naver_login.png')

# 드라이버 종료
driver.quit()

 

결론

이제 여러분은 파이썬 셀레니움을 사용하여 자동화 프로그램을 만들 수 있는 기술을 보유하게 되었습니다. 이를 통해 웹 작업을 자동화함으로써 생산성을 향상시키고 반복 작업을 간소화할 수 있습니다. 더 많은 자세한 기능과 사용법을 탐구하고, 분야별로 자동화 프로그램을 개발해보세요.