반응형
셀레니움을 사용하여 웹 페이지의 입력 필드에 텍스트를 입력하거나 특수 키를 사용하여 웹 페이지와 상호작용할 수 있습니다. 이러한 기능을 수행하는 데 핵심적인 역할을 하는 것이 바로 selenium.webdriver.common.keys 모듈입니다.
1. 키 입력: send_keys 메서드 활용
WebElement를 찾은 후, send_keys() 메서드를 사용하여 해당 요소에 키 입력을 전송할 수 있습니다. 이 메서드는 텍스트 문자열뿐만 아니라 키보드의 특수 키도 지원합니다.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get('https://www.naver.com/')
driver.implicitly_wait(3)
# 검색창을 찾아 "끄적끄적 코딩 공방" 입력
search_bar = driver.find_element(By.ID, 'query')
search_bar.send_keys('끄적끄적 코딩 공방')
# 엔터키를 입력
search_bar.send_keys(Keys.ENTER)
2. 특수 키 사용
selenium.webdriver.common.keys 모듈은 다음과 같은 키보드의 특수 키를 제공합니다.
- Keys.ENTER: Enter 키
- Keys.BACKSPACE: Backspace 키
- Keys.TAB: Tab 키
- Keys.SPACE: 스페이스바
- Keys.ESCAPE: Esc 키
- Keys.CONTROL, Keys.SHIFT, Keys.ALT: Ctrl, Shift, Alt 키
- Keys.ARROW_UP, Keys.ARROW_DOWN, Keys.ARROW_LEFT, Keys.ARROW_RIGHT: 화살표 키
- Keys.F1 ~ Keys.F12: 기능 키
- Keys.HOME, Keys.END, Keys.PAGE_UP, Keys.PAGE_DOWN: Home, End, Page Up, Page Down 키
- Keys.DELETE: Delete 키
- Keys.INSERT: Insert 키
3. 조합 키 사용
여러 키를 동시에 누르려면 + 연산자를 사용합니다.
search_box.send_keys(Keys.CONTROL + "a") # Ctrl+A 키 조합
search_box.send_keys(Keys.CONTROL + "c") # Ctrl+C 키 조합
search_box.send_keys(Keys.CONTROL + "v") # Ctrl+V 키 조합
4. 주의 사항
- 웹 페이지의 동작 방식에 따라 키 입력이 예상대로 작동하지 않을 수 있습니다.
- 특수 키의 지원 범위는 브라우저마다 다를 수 있습니다.
selenium.webdriver.common.keys 모듈을 활용하면 웹 페이지와의 상호작용을 한층 더 자연스럽고 효율적으로 할 수 있습니다.
'파이썬 > 크롤링' 카테고리의 다른 글
셀레니움에서 이미지 비활성화 : 최적화 (0) | 2024.01.29 |
---|---|
셀레니움에서 페이지가 로딩이 될 때까지 기다리는 방법 (2) | 2024.01.28 |
웹 자동화의 핵심 : 셀레니움의 WebElement 란? (0) | 2024.01.23 |
셀레니움 요소 찾기 : find_element와 find_elements (0) | 2024.01.19 |
셀레니움에서 스크롤하는 5가지 방법 - Selenium : Scroll (0) | 2024.01.14 |