본문 바로가기
Programming/Python & Django

Selenium에서 #document 안으로 들어가기

by mingule 2020. 12. 29.

Selenium을 이용해 크롤링 하다보면 iframe 안의 내용은 가져오지 못하는 경우가 생긴다.

그럴 때에는 iframe을 바꿔 그 안에서 원하는 정보를 찾을 수 있다.

from selenium import webdriver

# 웹 드라이버 켜기
driver = webdriver.Chrome(executable_path='드라이버 위치')

# 원하는 url로 이동하기
url = "원하는 url"
driver.get(url)

# iframe 안으로 이동하기
## 몇 번째 iframe인지 확인 후, 그에 맞게 넣어주셔야해요. 저는 첫 번째 iframe에 들어가고 싶어 0을 넣어줬습니다!
pop_up = driver.find_elements_by_tag_name('iframe')[0]
driver.switch_to.frame(pop_up)

# 만약 iframe이 많으시다면,
iframes = driver.find_elements_by_tag_name('iframe')

# iframe의 name을 출력한 후,
for iframe in iframes:
	print(iframe.get_attribute('name')

# 아래 명령어로 iframe을 전환할 수 있습니다.
driver.switch_to.frame('프레임 이름') 

# 만약 default html로 넘어가고 싶으시다면, 
driver.switch_to.default_content()

# 모든 크롤링이 완료되었다면 브라우저 종료
driver.quit()

댓글