Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 Selenium webdriver에서 명시적 대기를 설명합니다.

<시간/>

자동화 스크립트의 다른 단계로 이동하기 전에 특정 조건을 기다리도록 웹드라이버에 지시하기 위해 명시적 대기가 적용됩니다.

명시적 대기는 예상_조건과 함께 WebDriverWait 클래스를 사용하여 구현됩니다. expected_conditions 클래스에는 WebDriverWait 클래스와 함께 사용할 미리 작성된 조건 그룹이 있습니다.

  • 경고_현재_존재
  • element_selection_state_to_be
  • presence_of_all_elements_located
  • element_located_to_be_selected
  • text_to_be_present_in_element
  • text_to_be_present_in_element_value
  • frame_to_be_available_and_switch_to_it
  • element_located_to_be_selected
  • visibility_of_element_located
  • presence_of_element_located
  • title_is
  • title_contains
  • 가시성_
  • staleness_of
  • 클릭할 수 있는 요소
  • invisibility_of_element_located
  • element_to_be_selected

페이지의 Team 링크를 클릭하면 사용할 수 있는 Team @ Tutorials Point 텍스트를 기다리겠습니다.

Python의 Selenium webdriver에서 명시적 대기를 설명합니다.

팀 링크를 클릭하면 Team @ Tutorials Point라는 텍스트가 나타납니다.

Python의 Selenium webdriver에서 명시적 대기를 설명합니다.

예시

코드 구현

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')
#url launch
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
#identify element
l = driver.find_element_by_link_text('Team')
l.click()
#expected condition for explicit wait
w = WebDriverWait(driver, 5)
w.until(EC.presence_of_element_located((By.TAG_NAME, 'h1')))
s = driver.find_element_by_tag_name('h1')
#obtain text
t = s.text
print('Text is: ' + t)
#driver quit
driver.quit()

출력

Python의 Selenium webdriver에서 명시적 대기를 설명합니다.