"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python에서 Selenium WebDriver 실행을 효율적으로 일시 중지하는 방법은 무엇입니까?

Python에서 Selenium WebDriver 실행을 효율적으로 일시 중지하는 방법은 무엇입니까?

2024년 12월 26일에 게시됨
검색:271

How to Efficiently Pause Selenium WebDriver Execution in Python?

Selenium WebDriver의 대기 및 조건문

질문: Python에서 밀리초 동안 Selenium WebDriver 실행을 일시 중지하려면 어떻게 해야 합니까?

답변:

time.sleep() 함수는 지정된 초 동안 실행을 일시 중지하는 데 사용할 수 있지만 일반적으로 Selenium WebDriver 자동화에서는 권장되지 않습니다.

Selenium의 WebDriverWait 사용

대신 Selenium은 WebDriverWait 클래스를 제공합니다. 예상 조건과 함께 요소의 상태를 검증합니다. 일반적으로 예상되는 조건은 다음과 같습니다.

  1. 찾은 요소의 존재: DOM에 요소가 있는지 확인합니다.
  2. 찾은 요소의 가시성 : 요소가 표시되고 높이와 너비가 0보다 큰지 확인합니다.
  3. 요소가 0보다 큽니다. 클릭 가능: 요소가 표시되고, 활성화되고, 상호 작용 가능한지 확인합니다.

예:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10) # Timeout after 10 seconds

# Wait until an element is clickable
element = wait.until(EC.element_to_be_clickable((By.ID, "some_button")))
element.click()

이 방법은 불필요한 대기를 피하고 진행하기 전에 요소의 원하는 상태를 확인하여 테스트 효율성을 향상시키므로 time.sleep()보다 선호됩니다.

참조:

자세한 내용은 다음을 참조하세요.

  • WebDriver잠시만요 예상대로 작동: https://stackoverflow.com/questions/37372143/webdriverwait-not-working-as-expected
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3