친구가 나라장터에서 더보기를 자동클릭되게 할 수 없냐고 물어보았다.
나는 검색해서 오토클릭되는것을 알려줬으나 이게 더보기 위치가 바뀐다고 하였다. 직접 들어가보니 참 희한하게 되어있다. 예를들어 1,2,3,4,5,6,7,8,9,10 페이지까지 다 봤으면 페이지가 2,3,4,5,6,7,8,9,10,11 로 넘어가는게 아니라 11로 딱 넘어가서 바로 뒤에 있는 더보기 위치가 계속 바뀌었다.
그래서 파이썬으로 크롤링을 하는 프로그램이 깃헙에 올라와있길래 다운받아서 테스트 해봤는데 내가 파이썬 문법을 몰라서 그런지 날짜를 변경해서 해봐도 데이터가 변경되지가 않았다.
내 친구가 원하는 것은 더보기 버튼을 끝까지 누르면 마지막에 더보기 버튼이 없어지고, 그 다음에 왼쪽 상단에 있는 엑셀파일 다운버튼을 누르면 이때까지의 모든 자료가 다 다운이 된다고 하는데... 애초에 왜 이따위로 만들었는지 의문이다.
결국 크롬 개발자 도구를 이용해서 document에 element를 찾아서 그냥 클릭 이벤트를 실행시키도록 하였다.
let test4 = setInterval(() => {document.getElementsByTagName("frame")[1].contentDocument.getElementById("pagination").childNodes[document.getElementsByTagName("frame")[1].contentDocument.getElementById("pagination").childNodes.length - 2].click()}, 2000)
코드는 위와 같다.
조금 힘들었던 점은 더보기 클릭 버튼에 id나 class가 없어서 마지막 자손만 가지고 오도록 했는데 이게 띄어쓰기가 있는 경우에는 #text가 마지막으로 잡히게 되서 어쩔수 없이 그 바로 앞에 있는 a 태그를 가져와야 했기 때문에 저렇게 length로 처리해서 가져오도록 했다.
이 부분은 추후 잘 정리해서 유튜브로 영상을 올릴 계획이다.
'기타 학습 정리' 카테고리의 다른 글
useEffect 완벽 가이드 틈날때마다 읽자 (0) | 2020.02.22 |
---|---|
HTML 시맨틱 마크업이란 (0) | 2020.02.18 |
Let`s encrypt 설치해서 인증서 받고 https 적용하기 (2) | 2019.12.13 |
무료 도메인 받고 AWS 인스턴스와 연결하기 (0) | 2019.12.12 |
AWS 인스턴스에 nginx 설치 후 접속까지 (0) | 2019.12.11 |