-->

[파이썬] Selenium alert 경고창 처리하기

반응형

개인적으로 하고싶은 것이 있어서 파이썬 Selenium(셀레니움) 모듈을 사용해서 크롤링을 하던 중, alert 창을 마주했다.  단히 응답 코드를 받아와서 처리해주면 되겠지 했는데 응답이 '200 OK' 이다.

 

어떻게 해야하나 했는데, 역시 파이썬 역시 Selenium !!! alert 경고창에 관련한 API를 제공하고 있다. 여기에 간단히 정리한다.

 

파이썬 Selenium, alert 경고창

 

alert 경고창 객체 얻기

alert 객체는 switch_to_alert()를 써서 간단히 가져올 수 있다. alert 창이 있는지 그 유무를 체크하기 위해 try, excepy 문을 사용했다.

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

url = "https://www.boannews.com/media/view.asp?idx=86197&page=1"
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)

try:
	# alert 창 객체 얻기
	result = driver.switch_to_alert()
    
except:
	"There is no alert"

 

 

alert 경고창 내용 얻기

alert 내용은 위에서 얻은 경고창 객체에 text만 추가해주면 된다.

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

url = "https://www.boannews.com/media/view.asp?idx=86197&page=1"
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)

try:
	result = driver.switch_to_alert()
    
	# alert 창 내용 출력
	print(result.text)
    
except:
	"There is no alert"

 

 

alert 경고창 처리

alert 창의 확인을 누르는 것과 끄는 방법은 각각 아래와 같다.

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

url = "https://www.boannews.com/media/view.asp?idx=86197&page=1"
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)

try:
	result = driver.switch_to_alert()
	print(result.text)

	#alert 창 확인
	result.accept()

	#alert 창 끄기
	result.dismiss()
    
except:
	"There is no alert"

 

 

파이썬 Selenium(셀레니움) 사용법을 알고싶다면, 아래 관련 포스팅을 참고하길 바란다.

 


관련포스팅

[파이썬] 동적 웹 크롤링 (4) - Selenium을 이용한 비트코인 거래소 크롤링

 

[파이썬] 동적 웹 크롤링 (4) - Selenium을 이용한 비트코인 거래소 크롤링

이전 포스팅에서 알아보았던 Selenium 사용법을 활용해서 비트코인 거래소 중 하나인 고팍스 메인페이지의 암호화폐 테이블 전체를 크롤링해서 엑셀에 저장해보려 한다. 참고로, webdriver를 설치하고 사용하는 방..

liveyourit.tistory.com

[파이썬] 동적 웹 크롤링 (3) - Selenium 사용법 (tag, class, xpath 등)

 

[파이썬] 동적 웹 크롤링 (3) - Selenium 사용법 (tag, class, xpath 등)

아래의 이전 포스팅에서 Selenium 및 브라우저 드라이버 설치, webdriver 객체 생성방법까지 알아보았다. webdriver 객체가 브라우저 제어권을 얻고 타겟 URL에 접근까지 했기 때문에 오늘은 그 후 작업으로 크롤..

liveyourit.tistory.com

[파이썬] 동적 웹 크롤링 (2) - Selenium 을 활용해야 하는 이유? 자바스크립트 실행

 

[파이썬] 동적 웹 크롤링 (2) - Selenium 을 활용해야 하는 이유? 자바스크립트 실행

Selenium webdriver를 사용해서 웹크롤링을 수행할 경우 일반 크롤링과 어떻게 다르고, 어떤 경우에 활용되어야 좋은지 확인해본다. 다음 포스팅들에서는 Selenium으로 각 Element에 접근하는 방법 등 실제 사용방..

liveyourit.tistory.com

[파이썬] 동적 웹 크롤링 (1) - Selenium webdriver 설치 및 사용

 

[파이썬] 동적 웹 크롤링 (1) - Selenium webdriver 설치 및 사용

Selenium webdriver를 사용해서 웹크롤링을 수행하기 위해 Selenium 모듈 설치, 사용할 브라우저, 브라우저의 드라이버를 설치해보고 사용방법을 간단히 알아본다. 추가적으로 chromedriver 경로 입력시 발생했던..

liveyourit.tistory.com

 

댓글

Designed by JB FACTORY