티스토리 뷰

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]은 본래의 창을 의미한다.


'Programing-Language > Python' 카테고리의 다른 글

python3 venv 가상환경 사용하기  (0) 2018.08.23
python 비트 확인(32bit,64bit)  (0) 2018.02.25
python console 지우기  (2) 2018.02.12
Python None  (0) 2018.01.07
python virtualenv 윈도우 설치/사용  (0) 2017.11.19
댓글