selenium-mote::get parent

Today lolol·2020년 8월 3일
0

python

목록 보기
2/2

get immediate parent

직접적으로 붙어있는 부모 태그 엘러먼트를 얻고자 한다면... 아래의 방법을 사용하는 것을 권한다.

# no matter how to get element. just webdriver element type
# current element, we called this 'child'
child_elem = web_driver.find_element_by_xpath(<xpath_expr>)

# get parent
parent_elem = child_elem.find_element_by_xpath('..')

이 방법이 parcel 에서도 먹히는지는 아직 테스트 해보지 않았다.
그러나 selenium webdriver에서는 꽤나 괜찮은 방법으로

def get_href_from_parent(self, child_elem):
        _node = child_elem
        _href = _node.get_attribute('href')
        # looping, before get href value
        while not bool(_href):
            _parent_elem = _node.find_element_by_xpath('..')
            _href = _parent_elem.get_attribute('href')
            _node = _parent_elem

        return _href

만약 선택된 엘러먼트가 <a>가 아닌 하위 태그라면, 부모에게 접근하는 방식으로 href 속성값을 받아오도록 했다.

당연한 얘기지만, HTML에서는 모든 태그의 직접적인 부모는 하나이다.

직접적인 : directed, immediate, 바로 맞닿아있다.

profile
working making doing makes us 🤖

0개의 댓글