inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

네이버 메일 자동화 - 02. iframe 전환 하는 법

iframe에 입력하기

231

Jayoung Kim

작성한 질문수 1

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

아래와 같이 하니 프레임 전환 없이 본문 입력이 됩니다.
이렇게 해도 되나요?
다른 문제는 없을까요?

# 내용 입력
iframe = driver.find_element(By.CSS_SELECTOR, "#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe")
iframe.click()
iframe.send_keys("안녕하세요.", Keys.ENTER)


python 웹-크롤링

답변 2

0

스타트코딩

입력이 된다면 괜찮습니다 ㅎㅎ

iframe 내에 HTML 구조가 복잡하다면, 전환을 하고 작업하는게 좋습니다 🙂

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

님의 질문에 대해 답변드리겠습니다.

Python과 Selenium을 사용하여 iframe에 내용을 입력하는 방법에 대한 질문으로 보입니다. 제공해주신 코드 스니펫을 확인했을 때, 보통은 iframe 요소로 직접적인 접근을 시도하기 전에 Selenium에서 제공하는 switch_to.frame() 메서드를 사용하여 해당 iframe으로 컨텍스트를 전환하는 것이 일반적인 접근 방식입니다. 코드를 아래와 같이 수정해 보시길 권장드립니다.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

# 웹드라이버 초기화 및 iframe 페이지 로드
driver = webdriver.Chrome()  # 크롬 드라이버 초기화 또는 다른 브라우저 드라이버 지정
driver.get("여러분이 작업하고자 하는 웹 페이지 URL")  # 해당 iframe이 포함된 페이지로 이동

# iframe을 찾아 컨텍스트 전환
iframe = driver.find_element(By.CSS_SELECTOR, "iframe의 CSS 선택자")
driver.switch_to.frame(iframe)

# iframe 내부에서 원하는 동작 수행
body = driver.find_element(By.TAG_NAME, 'body')  # body 태그 선택
body.send_keys("안녕하세요.", Keys.ENTER)  # 내용 입력

# 원래의 상위 컨텍스트로 복귀
driver.switch_to.default_content()

이렇게 하면 iframe 내부로 컨텍스트를 전환하여 안전하게 내용을 입력할 수 있고, 작업 완료 후에는 switch_to.default_content()를 호출하여 원래 페이지의 상위 컨텍스트로 돌아올 수 있습니다. 이 과정을 통해 iframe 내부뿐만 아니라 전체 페이지에 걸쳐 더 정확하고 효율적으로 요소를 제어할 수 있습니다.

제공해주신 방법으로도 단순한 경우에는 작업이 가능할 수 있지만, 브라우저나 페이지의 구조가 복잡해지거나 iframe 내부에서 더 복잡한 상호작용이 필요한 경우 위와 같은 방식이 더 안정적입니다.

셀레니움 환경설정 오류

0

46

2

네이버 로그인 관련

0

256

2

안녕하세요 셀레니움에 대해서 질문

0

85

1

크롤링 연습사이트 문의

0

96

2

선택자 질문

0

71

2

'특정 요소가 나타날 때까지 스크롤' 부분 에러

0

76

2

자동 로그인 질문

0

86

2

44강 제목, 링크

0

105

1

원하는 값이 없을 때

0

89

2

크롤링한 링크가 엑셀로 들어가면 작동이 안되요

0

227

2

셀레니움 PDF자료는 받을 수 있나요

0

100

2

글목록 추출하기

0

97

2

메일 자동화 로그인 중복방지문자해결 오류 및 명시적 대기 질문

0

88

2

강의 노트가 어디에 있는건가요?

0

80

2

강의 커리큘럼 질문

0

98

1

조건문 else 사용하지 않는 이유

0

76

2

셀레니움으로 접근할 수 없는 경우

0

95

2

웹페이지 변경

0

70

2

자바스크립트로 태그 선택 시 질문입니다.

1

64

2

수료증은 어떻게 받나요?

0

120

2

class명을 활용하여 선택자를 만들지 않는 경우..?

0

60

2

드라이버가 안 열려요

0

79

2

이거 해결방법 아시는 분?

0

121

2

네이버 지식인 크롤링..

0

201

2