여러 탭을 만들어서 동시에 크롤링을 수행하도록 할 수 있는데요, 만약 탭을 변경해야 한다면 코드를 어떻게 작성해야 할까요? 바로, swith_to.window() 라는 함수를 이용하면 되는데요, 아래 코드를 보면서 살펴보도록 하겠습니다.
swith_to.window() 함수를 사용하기 앞서, 웹 드라이버 설정을 해주어야 하는데요,
아래와 같이 설정을 해주도록 하겠습니다.
path = "c:/temp/chromedriver_240/chromedriver.exe" ###자신의 chomedriver의 경로 위치
driver = webdriver.Chrome(path)
웹드라이버를 'driver' 라는 변수에 저장해주었는데요, 각자 코드에 맞게 입력하시면 됩니다.
한편, swith_to.window() 함수는 driver.switch_to.window("tab이름") 처럼 입력해서 사용하면 되는데요,
처음에 페이지를 열 때, tab이름을 지정해주어야 합니다.
예를 들어, 네이버 홈페이지를 열고, 해당 탭 이름을 '네이버'로 설정하려면 아래와 같이 코드를 입력하면 됩니다.
driver.execute_script("window.open('https://www.naver.com/', '네이버' );")
그러면, 탭 변경 코드를 다음과 같이 사용할 수 있게 됩니다.
driver.switch_to.window("네이버")
한번 실습으로, 구글 페이지를 열고 네이버 페이지를 연 뒤, 다시 구글 탭을 선택하는 코드를 작성해보겠습니다.
from bs4 import BeautifulSoup
from selenium import webdriver
path = "c:/temp/chromedriver_240/chromedriver.exe" ###자신의 chomedriver의 경로 위치
driver = webdriver.Chrome(path)
driver.execute_script("window.open('https://www.google.com/', '구글' );")
driver.execute_script("window.open('https://www.naver.com/', '네이버' );")
driver.switch_to.window("구글")
위와 같이 입력한 뒤, 실행해보면 탭이 변경되는 것을 확인하실 수 있답니다.
'BLOG > 웹크롤링' 카테고리의 다른 글
[웹크롤링] 크롤링한 데이터 메모장(텍스트 파일)에 저장하는 방법 (0) | 2021.03.18 |
---|---|
[웹크롤링] 네이버 검색창에 검색어 입력하는 방법 (selenium) (0) | 2021.03.18 |
[웹크롤링] 페이지 맨 밑으로 스크롤 하는 방법 (0) | 2021.03.18 |
[웹크롤링] 자동으로 스크롤 내려가게 하는 방법 (0) | 2021.03.18 |
[웹크롤링] 페이지 뒤로 가기 실행 코드 (selenium) (0) | 2021.03.18 |