Python에서 Selenium을 사용한 암시적 대기

Manav Narula 2023년6월21일
Python에서 Selenium을 사용한 암시적 대기

selenium 패키지는 Python 스크립트를 사용한 자동화 및 테스트에 사용됩니다. 이를 사용하여 웹 페이지에서 개별 요소에 액세스하고 작업할 수 있습니다.

이 패키지에는 다양한 속성을 기반으로 요소를 검색하는 데 사용할 수 있는 많은 방법이 있습니다. 페이지가 로드되면 일부 요소가 동적으로 검색됩니다.

이러한 요소는 나머지 요소와 비교하여 다른 속도로 로드될 수 있습니다.

Python에서 Selenium을 사용한 암시적 대기

사용할 수 없는 요소를 가져오려고 하면 ElementNotVisibleException이 발생합니다. 이는 요소가 소스에 정의되어 있지만 아직 DOM에 표시되지 않기 때문에 발생합니다.

이를 위해 암시적 대기를 사용할 수 있습니다. selenium을 사용하는 암시적 대기를 사용하면 webdriver 객체가 예외를 발생시키기 전에 필요한 시간 동안 기다리도록 지시할 수 있습니다.

이 기간 내에 필수 요소를 찾을 수 없으면 예외가 발생합니다.

암시적 대기 시간을 설정하기 위해 implicitly_wait() 함수를 사용합니다. 이 함수는 암시적 대기 시간을 지정하기 위해 webdriver와 함께 사용됩니다.

시간은 초로 지정됩니다.

아래 코드를 참조하십시오.

from selenium import webdriver

driver = webdriver.Chrome(r"C:/path/to/chromedriver.exe")
driver.implicitly_wait(10)
driver.get("https://www.sample.org/")
e = driver.find_element_by_id("some_form")

위의 예에서는 webdriver 개체를 사용하여 웹 페이지로 리디렉션하고 find_element_by_id() 기능을 사용하여 요소 검색을 시도합니다. 이 함수는 id 속성이 제공된 값과 일치하는 요소를 찾습니다.

이것은 동적 요소이므로 implicitly_wait() 메서드를 사용하여 암시적 시간 10초를 지정하여 요소가 로드되는 시간을 확보합니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Python Selenium