본문 바로가기
파이썬

[파이썬] 셀레니움(selenium)으로 자동 검색하기

by 코딩라이프 2022. 11. 15.

※ selenium4.6.0 버전을 기준으로 코드를 작성함을 알려드립니다.

 

■ selenium 홈페이지에서 'webdriver'를 검색하는 과정을 자동화 하는 과정입니다.

 

1. selenium 패키지의 webdriver를 이용하여 크롬 브라우저를 열고, 셀레니움 페이지로 이동합니다.

from selenium import webdriver
import time

# 크롬 웹드라이버로 브라우저를 실행합니다.
driver = webdriver.Chrome()

# 원하는 사이트로 이동합니다.
driver.get("http://selenium.dev")

# 페이지가 다 열리는 시간을 고려하여 기다립니다.
time.sleep(2)

 

2. 검색버튼을 클릭하기 위하여 개발자 도구를 이용하여 검색 버튼에 해당하는 태그를 찾습니다.

button 태그. class명은 'DocSearch DocSearch-Button'임을 이용하겠습니다.

 

 

3. 검색 버튼을 클릭하는 코드를 작성합니다.

# button 태그 중 class명이 DocSearch DocSearch-Button인 엘리먼트를 찾아 클릭합니다.
driver.find_element('xpath', '//button[@class="DocSearch DocSearch-Button"]').click()

 

 

4. 검색창에 해당하는 태그를 찾습니다.

검색창에 해당하는 태그입니다. id가 'docsearch-input'라는 속성을 이용하겠습니다.

 

5. 검색창에 검색어를 입력하는 코드를 작성합니다.

# 검색창 : id가 'docsearch-input'인 element를 찾는다.
element = driver.find_element('id', 'docsearch-input')

# 검색창에 검색어('webdriver')입력
element.send_keys('webdriver')

# 검색어가 입력되는 시간 고려하여 기다리기
time.sleep(2)

 

6. 검색을 위해 엔터키를 입력합니다.

# 검색창에 엔터키를 입력한다.
driver.find_element('id', 'docsearch-input').send_keys(Keys.ENTER)

■ 위 코드를 하나로 합치면 다음과 같습니다. 

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

#1. 웹드라이버로 웹브라우저를 실행하고 사이트로 이동한다.
driver = webdriver.Chrome()
driver.get("http://selenium.dev")
time.sleep(2)

#2. 검색버튼 클릭
driver.find_element('xpath', '//button[@class="DocSearch DocSearch-Button"]').click()

#3. 검색창 찾기
element = driver.find_element('id', 'docsearch-input')

#4. 검색창에 검색어 입력
element.send_keys('webdriver')
time.sleep(2)

#5. 엔터키 입력
driver.find_element('id', 'docsearch-input').send_keys(Keys.ENTER)