셀레니움(Selenium)은 웹 애플리케이션을 자동화하는 오픈 소스 도구로, 주로 웹 스크래핑, 자동화 테스트, 반복적인 웹 작업을 자동화하는 데 사용됩니다.
Selenium 소개 (https://selenium.dev)
셀레니움은 자체가 웹브라우저이자 드라이버 역할을 수행합니다. 크롬인것처럼 쓰려면 크롬 드라이버로 세팅해서 쓰면 됩니다. “특정 페이지로 가서 어떤 컴포넌트를 클릭해라”라고 요청하면 그런 작업들을 수행해주는 툴이라고 생각하면 됩니다. 그러다 보니 동적으로 URL이 생성되는 페이지든 어느 페이지든 왠만하면 거의 다 (Active X를 쓰는 웹같은 경우..?) 크롤링 해올 수 있습니다.
!pip install selenium
브라우저에 맞는 WebDriver를 다운로드하고, 실행 파일의 경로를 설정해야 합니다. 아래 매니저를 한번에 설치하는 방법도 있습니다.
!pip install webdriver_manager
from selenium import webdriver
from selenium.webdriver.common.by import By
# 웹드라이버 실행 (크롬)
driver = webdriver.Chrome()
# 웹페이지 열기
driver.get("https://www.google.com")
# 검색창 찾고 입력
search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("Selenium Python")
search_box.submit()
# 5초 대기 후 종료
driver.implicitly_wait(5)
driver.quit()
find_element(By.ID, "id값")
find_element(By.CLASS_NAME, "class이름")
find_element(By.NAME, "name값")
find_element(By.XPATH, "//태그[@속성='값']")
element.send_keys("텍스트 입력") element.click()
driver.get("https://www.example.com") driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
driver.save_screenshot("screenshot.png")
alert = driver.switch_to.alert alert.accept() # 확인 버튼 클릭
time.sleep()
또는 WebDriverWait()
을 사용하여 적절한 대기 시간 설정 필요WebDriverWait(driver, timeout).until(EC.presence_of_element_located((By.XPATH, "XPATH값")))
활용User-Agent
변경 또는 headless mode
사용오늘은 AI 생태계에 혁신적인 변화를 가져올 것으로 예상되는 MCP(Model Context Protocol)에 대해 상세히 알아보겠습니다. 2024년…
1. TPM이란? TPM(Trusted Platform Module)은 국제 표준 기반의 보안 하드웨어 칩으로, 컴퓨터나 디지털 장비 내에서…
시즌2, 기대했는데... 실망도 두 배!두뇌싸움을 기대했는데, 전략도 없는 자기들만의 감정에 따른 편가르기, 정치싸움이 되어 버린…
BPF(Berkeley Packet Filter) 도어는 해커가 관리자 몰래 뒷문을 새로 만든 것입니다.해커가 명령을 내려 특정 데이터들을 뒷문을…
1. IPC의 개념과 목적 1.1 IPC란 무엇인가? IPC (Inter-Process Communication)는 운영체제 내의 서로 독립적인 프로세스…