Thief of Wealth
[Selenium] shadow DOM 크롤링 하는법
개발/RPA 2020. 10. 4. 14:47

html 코드를 보다보면 #document 또는 #shadow-root 형식 밑에 또 html 코드가 있는 경우가 있다. 이런 경우에는 selenium으로 바로 크롤링하려 할때 element를 못찾게 되는데, 이때는 javascript로 shadow DOM객체를 찾아서 반환한다음 selenium에서 반환하여야 한다. 예를 들어서 chrome://settings 에 들어가면 크롬의 설정을 변경할 수 있는데, 상단 검색창에 입력을 하고 싶다고 가정해보자, html소스상에서는 #searchInput을 찾으면 되지만 shadow DOM에 숨겨져 있어서 바로 찾을 수 없는 element라고 뜰것이다. 심지어 3중 shadow dom으로 되어 있는데, 이러한 경우에는 html코드의 shadow DOM 상단의 태그들..

MAC Selenium Firefox사용법
개발/Python 2020. 4. 28. 14:51

크롬은 from selenium import webdriver driver = webdriver.Chrome("./chromedriver") 처럼 chromedriver 를 다운받아서 사용하는건 알겠는데, 파이어폭스는 어떻게 사용할까? 바로 driver = webdriver.Firefox() 처럼 사용한다. 엥? 파일이 없네? 하지만 이렇게 실행하면 geckodriver not found와 비슷한 에러를 보게 된다. 이를 해결하기 위해 MAC에서는 brew install geckodriver 이 한줄을 실행한 후 driver = webdriver.Firefox() 를 실행하면 크롬처럼 귀찮은 파일없이 셀레니움을 실행할 수 있다.

profile on loading

Loading...