반응형
페이지 안에 다른 페이지가 있는 경우(iframe 제어 방법)
반응형
메인페이지 안에 서브페이지가 있는 경우 웹 드라이버는 안쪽에 있는 서브페이지를 제어할 수 없습니다. 웹 드라이버는 한번에 하나의 페이지만 제어할 수 있기 때문인데요.
이러한 경우, 서브 페이지를 바라볼 수 있도록 드라이버를 전환시켜 준 다음에 서브페이지를 제어해야 합니다.
드라이버 전환 방법
반응형
1.iframe 태그를 찾아 줍니다.
- 본문태그의 상위태그를 찾아서 올라가다 보면, iframe 태그를 발견할 수 있습니다.
- iframe은 HTML에서 한 웹페이지 안에 다른 웹페이지를 포함시킬때 사용하는 태그 입니다. iframe 태그가 자주 사용되는 페이지 예시를 몇가지 살펴보겠습니다.
네이버 블로그 또는 카페 : 사용자들이 외부 콘텐츠를 포스트에 포함시킬때 iframe을 사용할 수 있습니다. 예를 들어 유튜브 동영상이나 구글 맵스지도를 포함시키는 경우가 있습니다.
지도 서비스 사이즈(예 : 네이버지도, 다음지도) :업체나 장소를 소개하는 웹사이트에서 위치를 표시하기 위해 iframe 을 사용하여 지도 서비스를 내장하는 경우가 많습니다.
온라인 광고 : 다양한 광고 회사에서 iframe을 사용하여 웹사이트에 광고를 표시합니다. 대형 포털 사이트나 뉴스 사이트에서 이런 형태를 자주 볼 수 있습니다.
2.iframe 태그 선택자를 만들고, 드라이버로 찾아 줍니다.
iframe = drive.find_element(By.CSS_SELECTOR, "iframe 태그 선택자")
- iframe 태그 선택자 : #content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe
3.드라이버를 전환시켜 줍니다.
driver.switch_to.frame(iframe)
- 드라이버가 서브페이지를 바라보게 만듭니다.
- 드라이버 전환이 정상적으로 되면, 서브페이지의 태그를 찾고 제어할 수 있게 됩니다.
4.원래 페이지로 돌아오려면 다시 드라이버를 전환 시켜 줍니다.
driver.switch_to.default_content()
- 드라이버가 메인 페이지를 바라보게 만듭니다.
- 드라이버 전환이 정상적으로 되면, 메인페이지의 태그를 찾고 제어할 수 있게 됩니다.
새로운 창 제어 방법
반응형
웹 사이트 자동화 프로그램을 제작하다보면 새로운 창을 제어할 일이 생길 수 있는데요. 예시까지 책에서 설명하기에는 과정이 다소 복잡해서, 핵심적으로 사용되는 명령어만 정리해 드리겠습니다.
1.현재 드라이버가 가지고 있는 창 목록
driver.window_handles
- 현재 드라이버에 열려 있는 창 목록을 리스트형태로 반환한다.
2.새로운 창으로 전환하기
driver.switch_to.window(driver.window_handles[인덱스(예:1)])
- 드라이버가 해당 창을 바라볼 수 있도록 전환시켜 줍니다.
반응형
'IT > Python' 카테고리의 다른 글
[Python - 크롤링] 셀레니움 사용법 - 원하는 태그 찾고 제어하기 (0) | 2025.05.04 |
---|---|
[Python - 크롤링] 셀레니움 설치/환경 설정 및 주요 명령어 정리 (0) | 2025.05.01 |
[Python-크롤링] 웹사이트 파라미터 종류가 많을때 크롤링 하는 방법 2단계 (1) | 2025.05.01 |
[Python-크롤링] 웹사이트 파라미터 종류가 많을때 크롤링 하는 방법 1단계 (0) | 2025.04.30 |
[Python - 크롤링] 네이버지식인 데이터 크롤링 1단계 (0) | 2025.04.28 |