PYTHON
[selenium] shadowRoot 접근하는 방법
전념하자
2022. 2. 8. 15:45
반응형
크롬으로 다운로드 한 파일 정보를 얻기 위해 selenimu으로 분석할 때 #shadow-root를 보게 되었습니다.


find_element함수로 shadow-root를 찾으려 했지만 잘 안돼서, 구글에서 검색해 보니, 자바스크립트로 해결하는 방법이 제일 무난해 보였습니다.

크롬 디버거, 콘솔 탭에서 위와 같이 스크립트를 작성했더니 원하는 결과를 얻었습니다.
위 스크립트를 execute_script 함수 인자로 넣어 주면 됩니다.
browser.execute_script(
"""
var manager = document.querySelector('downloads-manager').shadowRoot;
var item = manager.querySelector('downloads-item').shadowRoot;
var link = item.getElementById('file-link');
return link.innerHTML;
"""
)
이렇게 하면 원하는 값을 가져올 수 있습니다.
반응형