선택자(Selector)란?
선택자(Selector)는 HTML 문서에서 특정 요소를 찾아내거나 조작하기 위해 사용하는 규칙입니다. 주로 CSS, JavaScript 라이브러리(jQuery 등), 그리고 웹 크롤링 도구에서 사용됩니다. 선택자를 잘 이해하면 웹 요소를 효율적으로 접근하거나 제어할 수 있습니다.
선택자가 중요한 이유
스타일 적용 (CSS)
선택자를 사용해 특정 HTML 요소에 스타일을 지정할 수 있습니다.
예:
p { color: blue; } /* 모든 <p> 태그에 파란색 적용 */
동적 조작 (jQuery 등 JavaScript)
선택자를 사용해 DOM(Document Object Model) 요소를 동적으로 조작할 수 있습니다.
예 (jQuery):
$("p").text("새로운 텍스트"); // 모든 <p> 태그의 텍스트 변경
데이터 수집 (Python 웹 크롤링)
Python의 BeautifulSoup이나 Selenium에서 선택자를 활용해 특정 데이터를 추출할 수 있습니다.
예 (BeautifulSoup):
from bs4 import BeautifulSoup soup = BeautifulSoup(html_content, 'html.parser') titles = soup.select('h1.title') # <h1 class="title"> 요소 선택
주요 선택자 유형
선택자 유형 | 설명 | 예제 |
---|---|---|
전체 선택자 | 모든 요소 선택 | * |
태그 선택자 | 특정 태그 선택 | p , div , h1 |
클래스 선택자 | 특정 클래스가 적용된 요소 선택 | .className |
ID 선택자 | 특정 ID를 가진 요소 선택 | #idName |
속성 선택자 | 특정 속성을 가진 요소 선택 | [type="text"] , [href^="https://"] |
자식 선택자 | 특정 요소의 자식 요소 선택 | div > p (div의 직접적인 자식 p 태그) |
후손 선택자 | 특정 요소의 모든 하위 요소 선택 | div p (div 안에 있는 모든 p 태그) |
가상 클래스 | 상태에 따라 특정 요소 선택 | a:hover , input:checked |
가상 요소 | 요소의 특정 부분 선택 | p::before , p::after |
jQuery에서의 선택자 사용
jQuery는 CSS 선택자와 동일한 문법을 사용해 DOM 요소를 선택합니다.
- 예제:
// 모든 <p> 태그 선택 $("p").css("color", "blue"); // 특정 ID를 가진 요소 선택 $("#header").hide(); // 특정 클래스가 적용된 요소 선택 $(".highlight").addClass("active");
Python 크롤링에서 선택자 사용
Python에서 BeautifulSoup이나 Selenium 라이브러리는 선택자를 사용해 HTML 요소를 탐색합니다.
- BeautifulSoup의
select()
메서드: CSS 선택자를 지원합니다. from bs4 import BeautifulSoup html = '<div><p class="text">Hello World</p></div>' soup = BeautifulSoup(html, 'html.parser') # 클래스가 'text'인 <p> 태그 선택 element = soup.select('.text') print(element[0].text) # 출력: Hello World
- Selenium의 선택자 사용:
Selenium에서도 CSS 선택자를 활용해 요소를 찾습니다. from selenium import webdriver driver = webdriver.Chrome() driver.get('https://example.com') # ID가 'header'인 요소 찾기 header = driver.find_element('css selector', '#header') print(header.text)
CSS, jQuery, 크롤링에서 선택자의 일관성
CSS에서 사용하는 선택자는 jQuery와 Python 크롤링 도구(BeautifulSoup, Selenium)에서도 동일하게 적용됩니다. 이는 개발자가 한 번 선택자를 이해하면 다양한 작업(스타일링, 동적 조작, 데이터 추출)에서 일관되게 사용할 수 있다는 점에서 매우 중요합니다.
결론
- 선택자는 HTML 문서의 요소를 효율적으로 찾고 조작하기 위한 핵심 도구입니다.
- CSS 스타일링, jQuery DOM 조작, Python 크롤링에서 모두 동일한 선택자 문법을 활용할 수 있어 작업 간 일관성을 제공합니다.
- 선택자를 잘 이해하면 웹 개발, 테스트, 데이터 수집 작업에서 큰 효율성을 얻을 수 있습니다.
'웹 개발 > 웹 개발 기초' 카테고리의 다른 글
JavaScript 기초 또는 jQuery 기본 사용법 (0) | 2025.01.27 |
---|---|
CSS와 HTML의 선택자 및 스타일링 규칙 (0) | 2025.01.27 |
시퀀스란? (0) | 2025.01.27 |
HTML - 특수문자 (0) | 2025.01.27 |
HTML - 화이트 캐릭터 (0) | 2025.01.27 |