본문 바로가기

Language/Python

[Python]Selenium: get_attribute와 get_property의 차이

배경

webdriver의 find_element()에 대한 메서드

attributeproperty 두 단어 모두 '속성', '성질'의 비슷한 의미를 가지고 있습니다. 그래서 get_attribute()와 get_property()는 무슨 차이가 있는지 궁금해서 두 메서드 간의 차이점을 알아보게 되었습니다.

 

우선 get_attribute()와 get_property()는 Selenium에서 웹 요소의 속성을 가져오는 2가지 방법입니다. 이 두 메서드는 비슷해보이지만, 몇 가지 중요한 차이점이 있습니다.


get_attribute()와 get_property()의 차이

get_attribute()

  • DOM에서 요소의 속성(attribute)을 가져옵니다.
  • HTML 요소의 속성 값을 문자열로 반환합니다. 예를 들어, <input type="text" value="example"> 와 같은 요소에서 get_attribute('value')를 호출하게 되면 "example"을 반환합니다.
  • HTML 속성(예: class, id, value)을 가져오는 데 사용됩니다.

get_property()

  • 요소의 property를 가져옵니다. 이는 JavaScript 객체의 속성으로, DOM이 아닌 요소의 현재 상태를 반영합니다.
  • 예를 들어, <input> 요소의 현재 값(value)을 가져오고 싶다면 get_property('value')를 사용해야 합니다. 이 경우, 사용자가 입력한 값이 포함됩니다.

정리

  • get_attribute: HTML 요소의 속성 값을 가져옵니다.
  • get_property: JavaScript 객체의 현재 상태를 반영한 값을 가져옵니다.

 

'Language > Python' 카테고리의 다른 글

[Python]Selenium: StaleElementReferenceException  (0) 2024.09.23
[Python]Python으로 MySQL 연동하기  (0) 2024.09.13