셀레니움(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 감시 소프트웨어가 재택근무 시대를 끝내고 있다. 직원의 키스트로크·화면·표정까지 추적하는 기술의 실체와, 한국 직장인이 알아야…
정보보안기사 실기는 개념을 아는 것보다 로그를 읽고, 규칙을 쓰고, 계산하는 힘에서 점수가 갈립니다. 이번 글은…
호르무즈 해협 뉴스는 이제 '또 공격이 있었다'보다 '얼마나 늘었나'를 봐야 합니다. 이투데이가 FT와 영국해사무역기구(UKMTO) 등을…
이번 추석 연휴, 은행들은 쉬지 못했습니다. 연휴 기간 금융권에서 대규모 개인정보 유출 사고가 터졌기 때문입니다.…
"집 못 팔게 막으면 값이 내려가겠지." 서울 전역이 토지거래허가구역으로 묶이던 1년 전, 이런 기대가 있었습니다.…
다섯 거래일 연속 밀린 코스피가 오늘 아침 크게 반등했습니다. 오전 9시 12분 기준 6,165.02로 전…