셀레니움의 is_displayed() 는 해당 요소가 화면에 보이는지를
확인하는 역할을 합니다.
화면에 보이면 True를 반환하고
화면에 보이지 않으면 False를 반환합니다.
아래 그림은 다음의 검색창입니다.
해당 부분의 [ class ]는 [ box_search ]입니다.

i = driver.find_element(By.CLASS_NAME, "box_search").is_displayed()
print(i)
위 코드를 실행하면 True가 반환됩니다.
다음은 아래 그림과 같이 [ class ]가 [ screen_out ]인 요소를 확인해 보겠습니다.

i = driver.find_element(By.CLASS_NAME, "screen_out").is_displayed()
print(i)
위 코드를 실행하면 False를 반환합니다.
즉, 해당 요소는 화면에 표시되는 요소는 아니라는 이야기입니다.
있지 않은 클래스 이름을 사용하게 되면 오류가 발생됩니다.
i = driver.find_element(By.CLASS_NAME, "sfasf2324324").is_displayed()
print(i)
이런식으로 사용하면 오류가 발생됩니다.
하나의 예를 더 들어보겠습니다.
W3Schools Online Web Tutorials
W3Schools Free Online Web Tutorials
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
위 사이트를 예시로 보겠습니다.
위 사이트는 아래와 같이 작동합니다.

맨 위에 위와 같이 메뉴가 있습니다.
Tutorials 을 클릭하면 아래와 같이 메뉴가 추가적으로 나타납니다.
여기서 [ HTML and CSS ]를 가지고 확인해 보겠습니다.

[ HTML and CSS ] 부분의 class 이름은 [ w3-margin-top ]입니다.
※ [ w3-margin-top ]이름을 가진 클래스는 여러개가 있습니다. 첫번째로 보이는 것이 보라색 부분입니다.
driver.maximize_window()
위 코드를 추가하여 윈도우를 최대화 하고 테스트 하겠습니다.
driver.get(url)
driver.maximize_window()
time.sleep(3)
i = driver.find_element(By.CLASS_NAME, "w3-margin-top").is_displayed()
print(i)
위 코드를 실행하면 False가 반환됩니다.
하지만 [ Tutorials ]를 클릭하는 코드를 작성하고 실행하면 True가 반환됩니다.
driver.get(url)
driver.maximize_window()
time.sleep(3)
driver.find_element(By.XPATH, '//*[@id="navbtn_tutorials"]').click()
time.sleep(3)
i = driver.find_element(By.CLASS_NAME, "w3-margin-top").is_displayed()
print(i)
위 코드의 빨간색 부분이 [ Tutorials ]를 클릭하는 코드입니다.
여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.
'파이썬(Python)' 카테고리의 다른 글
[ 크롤링-Selenium ] 파이썬 다음 블로그 크롤링(Python Selenium)(1) (0) | 2022.11.21 |
---|---|
[ 크롤링-Selenium ] Python Selenium get_attribute() 셀레니움 요소값 (0) | 2022.11.20 |
[ 크롤링-Selenium ] Python Selenium 입력창 초기화, 입력 내용 지우기(clear) (0) | 2022.11.18 |
[ Tkinter ] 파이썬 Tkinter 윈도우 만들기, 윈도우 위치, 윈도우 크기 조절 (0) | 2022.11.05 |
[ Basic ] 파이썬 파일 읽기, 쓰기[ open(), write() ] (1) | 2022.11.01 |