본문 바로가기

Selenium

Python Selenium with 원티드(1)

오늘은 원티드 스크래핑 도전.

최근 친구의 이직 성공으로 인한 단기자극으로 구직사이트를 방문하는 일이 많아졌다.

생각도 났고 시간도 난김에 한번 긁어보자.

 

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.* 이라던가)로 변환시켜줄 수 있는 코드가 있나 살펴봤다.

 

도와줘요 GPT!

 

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