Selenium version : 4.15.2
글 최종 작성일 : 2023-12-04
본 글은📎메타코드M님의 유튜브 강의를 참고하여 쓴 글입니다.
네이버 메일 전송 자동화를 해보려고 한다.
네이버 메일 전송 자동화
네이버 로그인 자동화 설명
[Python/Selenium] 네이버 로그인
Selenium version : 4.15.2 글 최종 작성일 : 2023-12-03 📍 과정이 있는 글이라 지름길은 '본론' 클릭 본 글은 📎메타코드M님의 유튜브 강의를 참고하여 쓴 글입니다. Selenium을 사용해서 네이버를 로그인
com-l.tistory.com
Logic
- 네이버 로그인
- 기기 등록
- 메일함으로 이동
- 메일 쓰기 클릭
- 받는 사람 이메일, 제목, 본문 작성
- 메일 전송
전체 코드
* 네이버의 url이나 선택자는 변경될 수 있다.
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import pyperclip
import pyautogui
driver = webdriver.Chrome()
driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/")
driver.maximize_window() # 화면 최대화
time.sleep(2)
# 아이디 입력
id = driver.find_element(By.CSS_SELECTOR, "#id")
id.click()
pyperclip.copy("아이디") # 본인 아이디 작성
pyautogui.hotkey("ctrl", "v")
time.sleep(2)
# 비밀번호 입력
pw = driver.find_element(By.CSS_SELECTOR, '#pw')
pw.click()
pyperclip.copy("비밀번호") # 본인 비밀번호 작성
pyautogui.hotkey("ctrl", "v")
time.sleep(2)
# 로그인 버튼 클릭
driver.find_element(By.CSS_SELECTOR, "#log\.login").click()
time.sleep(2)
# 로그인 기기 등록
driver.find_element(By.CSS_SELECTOR, "#new\.save").click()
# 메일함 이동
driver.get("https://mail.naver.com/v2/folders/0/all")
time.sleep(2)
# 메일 쓰기 클릭
driver.find_element(By.CSS_SELECTOR, ".item.button_write").click()
time.sleep(2)
# 이메일 작성
driver.find_element(By.CSS_SELECTOR, "#recipient_input_element").send_keys("받는 사람 이메일") # 받는 사람 이메일 작성
time.sleep(2)
# 이메일 제목 작성
driver.find_element(By.CSS_SELECTOR, "#subject_title").send_keys("테스트 메일 제목입니다")
time.sleep(2)
# 본문 작성 (iframe 안으로 들어가기)
iframe = driver.find_element(By.CSS_SELECTOR, "#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe")
driver.switch_to.frame(iframe)
driver.find_element(By.CSS_SELECTOR, "body > div > div.workseditor-content").send_keys("본문입니다.")
time.sleep(2)
# iframe 밖으로 나오기
driver.switch_to.default_content()
# 보내기
driver.find_element(By.CSS_SELECTOR, "button.button_write_task").click()
time.sleep(50)
코드 설명
- 로그인 부분은 위에 있는 네이버 로그인 자동화 설명 참고하기
- 가장 어려웠던 부분은 메일 본문을 작성하는 것이었다. 그 이유는 메일 본문이 iframe으로 되어 있기 때문이다.

- iframe 안에 있는 요소를 사용하려면 iframe 안을 들어가는 코드를 작성해줘야 한다. iframe으로 전환 후 메일 본문 내용을 작성하고 작성 후에는 다시 원래로 돌아오면 된다.
# 본문 작성 (iframe 안으로 들어가기)
iframe = driver.find_element(By.CSS_SELECTOR, "#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe")
driver.switch_to.frame(iframe)
driver.find_element(By.CSS_SELECTOR, "body > div > div.workseditor-content").send_keys("본문입니다.")
time.sleep(2)
# iframe 밖으로 나오기
driver.switch_to.default_content()
결과
- 무사히 메일 전송완료!

Ref.
1. 공식문서(iframe) / https://www.selenium.dev/documentation/webdriver/interactions/frames/
* 잘못된 부분에 대해 댓글 남겨주시면 감사하겠습니다! 😀
'Python' 카테고리의 다른 글
[Python/Pandas] pandas.cut() (1) | 2024.03.11 |
---|---|
[Python/Selenium] 네이버 로그인 (0) | 2023.12.03 |
[Python] bisect - 배열 이진 분할 알고리즘 (0) | 2023.05.25 |
[Python] map에 대하여 (0) | 2023.02.21 |
[Python] 리스트 컴프리헨션 (0) | 2023.02.13 |
Selenium version : 4.15.2
글 최종 작성일 : 2023-12-04
본 글은📎메타코드M님의 유튜브 강의를 참고하여 쓴 글입니다.
네이버 메일 전송 자동화를 해보려고 한다.
네이버 메일 전송 자동화
네이버 로그인 자동화 설명
[Python/Selenium] 네이버 로그인
Selenium version : 4.15.2 글 최종 작성일 : 2023-12-03 📍 과정이 있는 글이라 지름길은 '본론' 클릭 본 글은 📎메타코드M님의 유튜브 강의를 참고하여 쓴 글입니다. Selenium을 사용해서 네이버를 로그인
com-l.tistory.com
Logic
- 네이버 로그인
- 기기 등록
- 메일함으로 이동
- 메일 쓰기 클릭
- 받는 사람 이메일, 제목, 본문 작성
- 메일 전송
전체 코드
* 네이버의 url이나 선택자는 변경될 수 있다.
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import pyperclip
import pyautogui
driver = webdriver.Chrome()
driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/")
driver.maximize_window() # 화면 최대화
time.sleep(2)
# 아이디 입력
id = driver.find_element(By.CSS_SELECTOR, "#id")
id.click()
pyperclip.copy("아이디") # 본인 아이디 작성
pyautogui.hotkey("ctrl", "v")
time.sleep(2)
# 비밀번호 입력
pw = driver.find_element(By.CSS_SELECTOR, '#pw')
pw.click()
pyperclip.copy("비밀번호") # 본인 비밀번호 작성
pyautogui.hotkey("ctrl", "v")
time.sleep(2)
# 로그인 버튼 클릭
driver.find_element(By.CSS_SELECTOR, "#log\.login").click()
time.sleep(2)
# 로그인 기기 등록
driver.find_element(By.CSS_SELECTOR, "#new\.save").click()
# 메일함 이동
driver.get("https://mail.naver.com/v2/folders/0/all")
time.sleep(2)
# 메일 쓰기 클릭
driver.find_element(By.CSS_SELECTOR, ".item.button_write").click()
time.sleep(2)
# 이메일 작성
driver.find_element(By.CSS_SELECTOR, "#recipient_input_element").send_keys("받는 사람 이메일") # 받는 사람 이메일 작성
time.sleep(2)
# 이메일 제목 작성
driver.find_element(By.CSS_SELECTOR, "#subject_title").send_keys("테스트 메일 제목입니다")
time.sleep(2)
# 본문 작성 (iframe 안으로 들어가기)
iframe = driver.find_element(By.CSS_SELECTOR, "#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe")
driver.switch_to.frame(iframe)
driver.find_element(By.CSS_SELECTOR, "body > div > div.workseditor-content").send_keys("본문입니다.")
time.sleep(2)
# iframe 밖으로 나오기
driver.switch_to.default_content()
# 보내기
driver.find_element(By.CSS_SELECTOR, "button.button_write_task").click()
time.sleep(50)
코드 설명
- 로그인 부분은 위에 있는 네이버 로그인 자동화 설명 참고하기
- 가장 어려웠던 부분은 메일 본문을 작성하는 것이었다. 그 이유는 메일 본문이 iframe으로 되어 있기 때문이다.

- iframe 안에 있는 요소를 사용하려면 iframe 안을 들어가는 코드를 작성해줘야 한다. iframe으로 전환 후 메일 본문 내용을 작성하고 작성 후에는 다시 원래로 돌아오면 된다.
# 본문 작성 (iframe 안으로 들어가기)
iframe = driver.find_element(By.CSS_SELECTOR, "#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe")
driver.switch_to.frame(iframe)
driver.find_element(By.CSS_SELECTOR, "body > div > div.workseditor-content").send_keys("본문입니다.")
time.sleep(2)
# iframe 밖으로 나오기
driver.switch_to.default_content()
결과
- 무사히 메일 전송완료!

Ref.
1. 공식문서(iframe) / https://www.selenium.dev/documentation/webdriver/interactions/frames/
* 잘못된 부분에 대해 댓글 남겨주시면 감사하겠습니다! 😀
'Python' 카테고리의 다른 글
[Python/Pandas] pandas.cut() (1) | 2024.03.11 |
---|---|
[Python/Selenium] 네이버 로그인 (0) | 2023.12.03 |
[Python] bisect - 배열 이진 분할 알고리즘 (0) | 2023.05.25 |
[Python] map에 대하여 (0) | 2023.02.21 |
[Python] 리스트 컴프리헨션 (0) | 2023.02.13 |