파이썬 셀레니움 웹사이트 제어 – 1

파이썬 셀레니움 Selenium 라이브러리를 사용합니다. 이것을 통해서 간단하게 웹사이트를 조작할 수 있는 프로그램을 개발해보겠습니다.

파이썬 셀레니움 웹사이트 제어

파이썬 개발 환경은 VS Code를 이용하고 있고, 이전글에서 만든 가상환경을 사용하고 있어요.

파이썬 가상환경 Virtualenv 활성화

파이썬 셀레니움 라이브러리 설치

필요한 라이브러리는 셀레니움과 크롬드라이버입니다. 라이브러리를 설치하는 방법은 터미널 창에 아래 코드를 입력하시면 됩니다.

pip install selenium chromedriver_autoinstaller

이 코드는 셀레니움과 크롬드라이버를 자동으로 설치해줍니다.

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
import chromedriver_autoinstaller

chromedriver_autoinstaller.install()

driver = webdriver.Chrome()

코드의 시작은 필요한 기능들을 불러오는 것으로 시작하는데요. webdriver와 셀렉터를 사용하기 위한 by함수를 불러옵니다.

필요한 함수들

# 1. .get() 함수는 웹사이트의 주소를 방문
driver.get("https://www.naver.com")

#2. 가져올 데이터를 복사해오자. 개발자 도구 -> div 태그
selector = "#newsstand > div.ContentHeaderView-module__content_header___nSgPg"
#3. 가져온 데이터를 변수에 담는다.
data = driver.find_element(By.CSS_SELECTOR, selector)

#4. 데이터를 가져오기
print(data.text)

#5. 액션 - 요소 클릭하기
data.click()

driver.get() 함수는 입력한 주소창으로 크롬창을 켜는 함수입니다. 웹사이트 프로그램의 가장 기본이 되는 함수입니다.

다음은 셀렉터를 이용하여 필요한 데이터를 가져오는데 크롬창의 F12를 누르면 개발자 모드 창을 킬 수 있습니다. 거기서 HTML 태그를 확인하는 기능을 사용하시면 편리합니다.

오른쪽 개발자도구 창에서 <div 를 우클릭하여 데이터 태그를 가져올 수 있어요.

그 다음 data라는 변수에 데이터를 담아서 출력 테스트를 해보기 위해 print(data.text)를 입력했습니다.

input()은 크롬창이 다른 입력을 받을 때까지 기다리게 하기 위해 임시로 넣은 기능입니다.

Leave a Comment

// Open internal links in same tab