Programing-Language/Python
python selenium 새 창 크롤링
Loweeeell
2018. 9. 15. 21:12
Problem
Python에서 Selenium을 사용해 크롤링을 하던 중, 링크를 클릭했을 때 띄워지는 새 창에서 데이터를 크롤링을 해야했다.
처음에는 driver를 너무 똑똑하게 봐서 알아서 새 창이 띄워주면 그쪽을 포커스하겠지 했는데, 그렇게 똑똑하진 않았다.
새로운 창이 띄워져도 본래 창의 데이터를 가져왔다.
Solution
selenium의 swtich_to_window를 사용해서 새로운 창을 핸들링 할 수 있다.
from selenium import webdriver
driver = webdriver.Chrome('chromedirver')
# 새로 띄워진 창을 핸들링함.
... (생략)
driver.switch_to_window(driver.window_handles[1])
driver.get_window_position(driver.window_handles[1])
참고로 driver.window_handles[0]은 본래의 창을 의미한다.