[파이썬] Selenium 웹 테이블 다루기

Selenium Logo

Selenium은 웹 자동화 도구로, 웹 브라우저 테스트를 자동화하는 데 사용됩니다. 이번 글에서는 Selenium을 사용하여 웹 테이블을 다루는 방법을 알아보겠습니다. Python 언어를 이용하여 Selenium을 활용하는 예시 코드들을 제시하겠습니다.

필요한 패키지 설치하기

먼저, Selenium 패키지를 설치해야 합니다. 다음의 명령어를 사용하여 패키지를 설치할 수 있습니다:

pip install selenium

웹 드라이버 설정하기

Selenium을 사용하기 위해서는 웹 드라이버가 필요합니다. 웹 드라이버는 브라우저별로 제공되며, 원하는 브라우저에 맞춰 설치해야 합니다. 예를 들어, 크롬 브라우저를 사용할 경우 크롬 드라이버를 설치해야 합니다.

크롬 드라이버는 다음의 링크에서 다운로드할 수 있습니다: 크롬 드라이버 다운로드

Selenium 웹 테이블 다루기의 기본 코드

다음은 Selenium을 사용하여 웹 테이블을 다루는 기본적인 예시 코드입니다:

from selenium import webdriver

# 웹 드라이버 설정
driver = webdriver.Chrome('/path/to/chromedriver')

# 웹 사이트 열기
driver.get('http://example.com')

# 웹 테이블 요소 찾기
table = driver.find_element_by_xpath('//table')

# 모든 행 가져오기
rows = table.find_elements_by_tag_name('tr')

# 각 행에 대해 데이터 추출하기
for row in rows:
    data = row.find_elements_by_tag_name('td')
    for cell in data:
        print(cell.text)

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

웹 테이블에서 정보 추출하기

웹 테이블의 특정 데이터나 모든 데이터를 추출할 수 있습니다. 예를 들어, 테이블의 첫 번째 열의 데이터만 가져오는 코드는 다음과 같습니다:

from selenium import webdriver

driver = webdriver.Chrome('/path/to/chromedriver')
driver.get('http://example.com')

table = driver.find_element_by_xpath('//table')
rows = table.find_elements_by_tag_name('tr')

for row in rows:
    data = row.find_elements_by_tag_name('td')
    # 첫 번째 열의 데이터 출력하기
    print(data[0].text)

driver.quit()

웹 테이블 내 데이터 변경하기

Selenium을 사용하면 웹 테이블 내의 데이터를 변경할 수도 있습니다. 예를 들어, 테이블의 특정 셀 값을 변경하는 코드는 다음과 같습니다:

from selenium import webdriver

driver = webdriver.Chrome('/path/to/chromedriver')
driver.get('http://example.com')

table = driver.find_element_by_xpath('//table')
rows = table.find_elements_by_tag_name('tr')

# 테이블의 첫 번째 행의 데이터 변경하기
data = rows[0].find_elements_by_tag_name('td')
data[0].clear()
data[0].send_keys("New Value")

# 변경된 테이블 저장하기
# (저장 버튼 등이 있다면 해당 버튼 클릭 코드를 추가해야 함)

driver.quit()

Selenium을 사용하여 웹 테이블을 다루는 방법에 대해 알아보았습니다. 이를 활용하여 웹 자동화 작업을 수행하고 웹 테이블의 데이터를 추출하거나 변경할 수 있습니다.

더 자세한 내용은 Selenium 공식 문서를 참고하시기 바랍니다.