오늘은 원티드 스크래핑 도전.
최근 친구의 이직 성공으로 인한 단기자극으로 구직사이트를 방문하는 일이 많아졌다.
생각도 났고 시간도 난김에 한번 긁어보자.
from selenium import webdriver
#브라우저 꺼짐 방지 옵션
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
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 csv
email =
# 브라우저 꺼짐 방지 옵션
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
driver = webdriver.Chrome(options=chrome_options)
# URL 열기
driver.maximize_window()
# 로그인 페이지 진입
login = driver.find_element(By.CSS_SELECTOR, ".signUpButton").click()
# 이메일 input
email_input = driver.find_element(By.CSS_SELECTOR, ".css-wq6t17")
email_input.send_keys("")
늘 써주던 코드 주르륵
하나 걸리는 게 생겼다. 혼자 짜서 가지고 있는 거면 상관없지만 포스팅하려 하니 E-mail과 비밀번호가 걸린다.
그래서 노출될 때는 다른 기호(ex.* 이라던가)로 변환시켜줄 수 있는 코드가 있나 살펴봤다.
VS Code 플러그 인에서 다운받고 사용하면 된 다한다.
하지만
몇 분을 검색하고 구글에도 쳐봤지만 GPT가 알려준 플러그인은 나오질 않았다...
정성스러운 거짓말에 놀아난 나였다.
100% 신뢰는 하지 말자....
그냥 포스팅 시 E-mail과 비밀번호는 지우는 걸로.....
# 이메일 input
email_input = driver.find_element(By.CSS_SELECTOR, ".css-wq6t17")
email_input.send_keys(email)
email_input.send_keys(Keys.RETURN)
# 비밀번호 input 후 메인화면 진입
password_input = driver.find_element(By.CSS_SELECTOR, ".css-wq6t17")
password_input.send_keys(password)
password_input.send_keys(Keys.RETURN)
짜다 보니 email CSS와 password CSS가 같았다.
실행해 보니 이메일 입력화면에서 이메일과 패스워드가 같이 들어가는 현상이 발생
# 이메일 input
email_input = driver.find_element(By.CSS_SELECTOR, ".css-wq6t17")
email_input.send_keys(email)
email_input.send_keys(Keys.RETURN)
time.sleep(3)
# 비밀번호 input 후 메인화면 진입
password_input = driver.find_element(By.CSS_SELECTOR, ".css-wq6t17")
password_input.send_keys(password)
password_input.send_keys(Keys.RETURN)
time.sleep 3초로 기다려주니 로그인 성공
# 메인화면의 채용 탭 선택
hire_tap = driver.find_element(By.CSS_SELECTOR, "a[href='/wdlist']").click()
검색을 채용 탭으로 이동해 주고
조건들을 설정해 줄 차례
일단 개발 전체 필터에서 QA, 테스트엔지니어 항목을 찾을예정
완벽히 막혔다. 별거 아닌 선택하는 동작인 줄 알았지만 이게 무슨...
class가 다 똑같다... 처음 보는 형태라 많이 당황스럽다.
혹시나 하고 class 그대로 복사해서 넣어봤지만 결과는 아무 동작도 안 한다..
# 개발 전체 필터 적용
secnd_filter = driver.find_element(By.CSS_SELECTOR, ".JobCategory_JobCategory__btn__title__ixP9v").click()
secnd_filters = driver.find_element(By.CSS_SELECTOR, ".JobCategoryItem_JobCategoryItem__oUaZr")
for secnd_filter in secnd_filters:
if secnd_filter.text == "QA,테스트 엔지니어":
secnd_filter.click()
break
GPT가 알려준 방법도 동작을 안 한다..
다음글로 돌아올 땐 꼭 해결해서 오겠다.
쉽겠지.. 나만 못하는 거겠지..
'Selenium' 카테고리의 다른 글
Python Selenium 무한스크롤 (3) | 2023.05.19 |
---|---|
Python Selenium with 네이버쇼핑(2) (1) | 2023.05.12 |
Python Selenium with 네이버쇼핑 (0) | 2023.05.11 |
Python Selenium 맛보기 with Valorant (0) | 2023.05.10 |