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 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