옛날에 사물인식 가지고 자동 출석부 비슷한거?만들어봤었는데 재밌었다..

이번 프로젝트에서도 DB에 여러 예시 계획서를 저장해 놓아야 할 일이 생겼는데 이때 내가 그냥 혼자 검색 자동화를 만들어 가서 팀원들에게 공유해 줬다. 이거 아니었으면 솔직히 우리 모두 3일정도 밤 새 ctrl+c ctrl+v하고 있었을 것이다. 데이터도 전부 긁어왔어야 했는데 그것도 크롤링으로 바꿨다. 여행 관련 정보가 생각보다 더 많더라 .. Django와는 상관없지만 하면서 나혼자 신기하고 재밌었어서 코드를 여기에 공유한다.


from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import openpyxl


query_txt = "오사카 2박 3일 여행 계획을 첫날 오후 3시부터 9시까지, 나머지는 오전 9시부터 오후 9시까지로 시간을AM과 PM을 붙여서 명시해 주고 1시간 간격으로 세워줘. 장소명은 꼭 < > 사이에 넣어줘 (와 )사이에 주소도 써줘 "
#검색할 메시지


driver = webdriver.Chrome()

driver.get("https://자동 검색하고 싶은 웹 사이트 경로") 

textarea = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, "textarea.ant-input.css-1n7nwfa"))
)

send_button = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, "svg[data-icon='send']"))
)

textarea.send_keys(query_txt)


time.sleep(30) 
send_button.click()

time.sleep(50)
chat_messages = WebDriverWait(driver, 10).until(
    EC.presence_of_all_elements_located((By.CSS_SELECTOR, "가져올 값의 태그"))
)

answer=chat_messages[-1].text

driver.quit()

selenium도 처음 써봤는데 자동으로 검색되는게 재밌었다. 태그는 웹 페이지 들어가서 f12누르면 영역 선택해서 내가 가져오려는 영역의 태그를 복사해서 가져오면 된다. 심심할 때 저 링크에 이것저것 넣어서 해보면 은근 시간이 빨리 가니 해보기를 추천한다.

💡오류가 난다면 chromedriver가 낮은 버전으로 설치되어 있을 확률이 높다. 확인해 보자.

profile
호기심으로 시작해, 논리적으로 개발하는, 백엔드 개발자 임지희 입니다. 소개에 있는 포트폴리오 및 github에서 프로젝트 상세내용과 코드를 보실 수 있습니다:)

0개의 댓글