RPA/Python

[selenium] 브라우저 및 Handle 컨트롤

꼰대 2021. 5. 5. 15:53

from selenium import webdriver

 

# chrome 드라이버가 workspace에 없고 다른 경로에 있을 경우

# driver = webdriver.Chrome(executable_path=r'C:\driver\chromedriver.exe')

driver = webdriver.Chrome()

 

# 네이버로 페이지 이동

driver.get('https://www.naver.com')

driver.implicitly_wait(10)

 

# 브라우저 뒤로, 앞으로 가기

driver.back()

driver.implicitly_wait(10)

driver.forward()

driver.implicitly_wait(10)

 

# 브라우저 새로고침

driver.refresh()

driver.implicitly_wait(10)

 

# 스크린샷

driver.save_screenshot('naver.png')

driver.implicitly_wait(10)

 

# 현재 탭만 닫기

driver.close()

 

# 브라우저 끄기

driver.quit()

 

# 창 사이즈 조정 및 최대/최소 변경

driver.set_window_size(1920, 1280)

driver.maximize_window()

driver.minimize_window()

 

 

=================================================

Handle 컨트롤

 

from selenium import webdriver

 

driver = webdriver.Chrome()

driver.get('https://www.w3schools.com/tags/att_input_type_radio.asp')

driver.implicitly_wait(10)

 

# 현재 윈도우 핸들

current_handdle = driver.current_window_handle

 

elem = driver.find_element_by_xpath('//*[@id="main"]/div[2]/a')

# 클릭을 하면 새탭으로 열림

elem.click()

driver.implicitly_wait(10)

 

# 현재 브라우저 상 모든 핸들정보

handles = driver.window_handles

 

for handle in handles:

    driver.switch_to.window(handle)

 

# for문을 나오면 마지막 handle(새로 열린 탭)로 switch 된 상태

# 새탭으로 열린 탭 닫기

driver.close()

 

# 원래 handle로 돌아오기

driver.switch_to.window(current_handdle)

반응형