파이썬 셀레니움(selenium)은 웹페이지 자동화, 동적 페이지 크롤링, 스크래핑을 할 때 주로 사용합니다.
이 강의에서는 selenium3에서 selenium4로 버전업되며 바뀐 find_element 문법에 대해 설명합니다.
셀레니움3에서는 아래의 방법으로 html 요소를 찾았다면
driver.find_element_by_class_name("")
driver.find_element_by_id("")
driver.find_element_by_css_selector("")
driver.find_element_by_name("")
driver.find_element_by_tag_name("")
driver.find_element_by_xpath("")
driver.find_element_by_link_text("")
driver.find_element_by_partial_link_text("")
(복수형 driver.find_elements_by~~)
셀레니움4에서는
driver.find_element(By.CLASS_NAME, "")
driver.find_element(By.ID, "")
driver.find_element(By.CSS_SELECTOR, "")
driver.find_element(By.NAME, "")
driver.find_element(By.TAG_NAME, "")
driver.find_element(By.XPATH, "")
driver.find_element(By.LINK_TEXT, "")
driver.find_element(By.PARTIAL_LINK_TEXT, "")
(복수형 driver.find_elements(By.~~, "")
이렇게 바뀌었습니다.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
import time
options = Options()
options.add_experimental_option("detach", True)
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=options)
url = "https://naver.com"
driver.get(url)
time.sleep(1)
"""
<input id="query" name="query" type="text" title="검색어 입력" maxlength="255" class="input_text" tabindex="1" accesskey="s" style="ime-mode:active;" autocomplete="off" placeholder="검색어를 입력해 주세요." onclick="document.getElementById('fbm').value=1;" value="" data-atcmp-element="">
"""
driver.find_element(By.CLASS_NAME, "input_text").send_keys("블랙핑크")
time.sleep(1)
driver.find_element(By.ID, "query").send_keys("뉴진스")
time.sleep(1)
driver.find_element(By.NAME, "query").send_keys("트와이스")
time.sleep(1)
driver.find_element(By.CSS_SELECTOR, "#query").send_keys("에스파")
time.sleep(1)
driver.find_element(By.XPATH, '//*[@name="query"]').send_keys("에스파")
time.sleep(1)
driver.find_element(By.LINK_TEXT, "쇼핑LIVE").click()
driver.find_element(By.PARTIAL_LINK_TEXT, "핑LI").click()
navs = driver.find_elements(By.CSS_SELECTOR, ".nav")
for nav in navs:
print(nav.get_attribute("outerHTML"))
print()
이 강의에서 사용하는 파이썬은 3.10.6 버전이며 편집기는 vscode입니다.
자세한 사용법은 아래 강의 영상을 참고 바랍니다.
https://youtu.be/qhy8I4ChCuw
'프로그래밍 > 2022' 카테고리의 다른 글
파이썬 독학 네이버 OpenAPI 사용 me2.do 단축 url 만들기 (0) | 2023.04.24 |
---|---|
파이썬 독학 웹 크롤링 멜론 TOP100 실시간 차트 순위 검색 결과 가져오기 - beautifulsoup, requests 기초 사용법 (0) | 2023.04.24 |
파이썬 독학 selenium, beautifulsoup 사용법 기초 - 셀레니움 네이버 크롤링 (0) | 2023.02.07 |
파이썬 beautifulsoup, requests 사용법 - 네이버 웹 크롤링 코드 20줄로 view 탭 검색 결과 자세히 가져오기 (0) | 2023.02.07 |
파이썬(python) 셀레니움(selenium) 크롬 웹 드라이버 웹페이지 모바일 버전으로 접속하는 방법 (0) | 2023.02.07 |