[파이썬] Selenium alert 경고창 처리하기
- 프로그래밍/파이썬
- 2020. 2. 7. 02:48
반응형
개인적으로 하고싶은 것이 있어서 파이썬 Selenium(셀레니움) 모듈을 사용해서 크롤링을 하던 중, alert 창을 마주했다. 간단히 응답 코드를 받아와서 처리해주면 되겠지 했는데 응답이 '200 OK' 이다.
어떻게 해야하나 했는데, 역시 파이썬 역시 Selenium !!! alert 경고창에 관련한 API를 제공하고 있다. 여기에 간단히 정리한다.
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을 이용한 비트코인 거래소 크롤링
[파이썬] 동적 웹 크롤링 (3) - Selenium 사용법 (tag, class, xpath 등)
[파이썬] 동적 웹 크롤링 (2) - Selenium 을 활용해야 하는 이유? 자바스크립트 실행
[파이썬] 동적 웹 크롤링 (1) - Selenium webdriver 설치 및 사용
'프로그래밍 > 파이썬' 카테고리의 다른 글
KoNLPy (파이썬 한글 형태소 분석기 ) 윈도우 설치 방법 (9) | 2020.02.14 |
---|---|
[파이썬] 보안 뉴스 기사 크롤링하기 (제목, 본문 원하는만큼) (0) | 2020.02.07 |
[파이썬] 동적 웹 크롤링 (4) - Selenium을 이용한 비트코인 거래소 크롤링 (5) | 2020.02.01 |
[파이썬] winreg 모듈을 사용한 레지스트리 등록 (윈도우 자동업데이트 해제) (0) | 2020.01.30 |
[파이썬] 동적 웹 크롤링 (3) - Selenium 사용법 (tag, class, xpath 등) (6) | 2020.01.26 |