Python

[Python] is_displayed(), is_selected(), is_enabled() 사용하기(Selenium)

helenaaaaa 2022. 12. 20. 17:40

Q. 크롤링 하던 중, 특정 클래스네임 or CSS Selector의 상태에 따라서 값을 읽어오고 싶었다. 이때 활용한 메소드가 어떤 값을 반환하는지..

A. 각 메소드별 간략 설명

is_displayed()

A라는 클래스네임을 가진 항목이 화면에 출력되었는지 확인

driver.find_element_by_class_name("A").is_displayed()

> 페이지에서 표시되면 True, 아니면 False 반환

is_enabled()

A라는 클래스네임을 가진 항목이 활성화되었는지 확인

driver.find_element_by_class_name("A").is_enabled()

> 페이지에서 활성화되어있으면 True, 아니면 False 반환

** 활성화되어있는지 확인하려는 요소에 disabled="disabled" 와 같이 disabled에 해당하는 값이 있어야 True 반환한다.

is_selected()

A라는 클래스네임을 가진 항목이 선택되었는지 확인

driver.find_element_by_class_name("A").is_selected()

> 페이지에서 해당 항목이 선택되어있으면 True, 아니면 False 반환

** 주로 라디오버튼, 드롭다운(셀렉트박스), 체크박스에서 사용

*** 사용한 코드 예시

elif driver.find_element_by_class_name("place_section._35XFB").is_displayed() == True :

# 남성비율
male_perc = driver.find_element_by_css_selector("#_datalab_chart_donut1_0 > svg > ...").text 

# 여성비율
female_perc = driver.find_element_by_css_selector("#_datalab_chart_donut1_0 > svg > ...").text 

print("그외 >>"+male_perc+"/"+female_perc)

Python