컴퓨터/Python
[2023.01.15] 파이썬 셀레니움4 사용하다가 남기는 메모
스노우볼^^
2023. 1. 15. 14:05
반응형
이전 셀레니움3에서 사용하던 코드가 몇몇 오류 뜨는 게 있어서 따로 메모로 남겨 둠.
----
셀레니움 설치
pip install selenium
셀레니움 버전확인
pip list
(셀레니움을 찾아서 버전을 확인한다.)
셀레니움 업데이트 : 1) -> 2) 모두 수행
1) pip install --upgrade pip
2) pip install --upgrade selenium
크롬드라이바러를 자동으로 업데이트 시켜주는 기능 추가 설치
pip install webdriver_manager
경고문
WARNING: The script normalizer.exe is installed in 'C:\Users\neoca\AppData\Roaming\Python\Python311\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
시스템 환경변수 path에 추가
C:\Users\neoca\AppData\Roaming\Python\Python311\Scripts
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 크롬 드라이버 자동 업데이트
from webdriver_manager.chrome import ChromeDriverManager
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches',['enable-logging']) #불필요한 애러 메세지 없애기
driver = webdriver.Chrome(options=options)
driver.implicitly_wait(1) # 웹페이지가 로딩 될 때까지 1초는 기다림
#driver.maximize_window() # 화면 최대화
time.sleep(2) # 로딩 기다림
#에누리 로그인 버튼 클릭 : 자바스크립트 수행
driver.execute_script("Cmd_Login('')")
time.sleep(LoadTime) # 로딩 기다림
driver.find_element(By.ID, 'user_id').send_keys("dddddddddd")
#로그인 버튼 클릭
driver.find_element(By.ID, 'btnLogin').click()
# Alert창 처리
try:
alert1 = WebDriverWait(driver, 3).until(EC.alert_is_present(),
'Timed out waiting for PA creation ' +
'confirmation popup to appear.')
print("alert accepted")
print('msg : ' + alert1.text)
alert1.accept()
except TimeoutException:
print("no alert")
반응형