don't stop believing

Chrome에서 Tab 변경하기 본문

Testing Automation/Selenium

Chrome에서 Tab 변경하기

Tongchun 2018. 3. 21. 16:03

Chrome에서 링크를 클릭했을 때 새로운 탭에서 사이트가 로딩되는 경우가 있습니다.

이럴때 Chrome의 화면 Tab을 이동해 보겠습니다.


방법은 window_hadles 속성를 사용하는 것입니다.

driver.switch_to_window(driver.window_handles[1])

이렇게 하면 Chrome의 두번 째 Tab으로 이동하게 됩니다.


# -*- coding: utf-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# Chrome WebDriver를 이용해 Chrome을 실행합니다.
driver = webdriver.Chrome(executable_path='C:/Users/jake/AppData/Local/Programs/Python/chromedriver.exe')

# http://dejavuqa.tistory.com/190 페이지로 이동합니다.
driver.get("http://dejavuqa.tistory.com/190")
time.sleep(2)

# 페이지 중 링크 텍스트에 '도커란 무엇인가'가 포함된 링크를 찾습니다.
continue_link = driver.find_element_by_partial_link_text('도커란 무엇인가')
time.sleep(2)

# 찾은 링크를 클릭합니다.
# 이때 새로운 tab으로 열리게 됩니다.
continue_link.click()
time.sleep(5)

# Chrome 브라우저의 2번째 tab으로 이동합니다.
# window_handles는 배열로 되어있으며, 0이 첫번째 tab, 1이 두번째 tab입니다.
driver.switch_to_window(driver.window_handles[1])

# 두번째 tab의 웹 페이지에서 CentOS라는 링크를 찾아 확인해 줍니다.
# send_keys(Keys.NULL)을 하면 링크가 어디있는지 확인해 줍니다.
# Keys.NULL을 사용하려면 위에 추가한 것처럼 import Keys를 추가해야 합니다.
centos_link = driver.find_element_by_link_text('CentOS')
centos_link.send_keys(Keys.NULL)
time.sleep(5)

# javascript의 alert() 함수로 popup창을 띄워줍니다.
driver.execute_script("alert('여기까지 탭 전환이었습니다. 즐~');")

# WebDriver를 종료합니다. (브라우저 닫기)
#driver.quit()

스크립트를 따라해 보세요.


'Testing Automation > Selenium' 카테고리의 다른 글

iframe 처리하기  (4) 2018.03.22
element highlight로 확인해 보기  (0) 2018.03.22
Selenium IDE (Chrome Extension) 사용하기  (0) 2018.03.19
Webdriver 실행하기  (0) 2018.03.19
Katalon Automation Recorder  (0) 2018.03.13
Comments