글

라벨이 Sogang University인 게시물 표시

Chrome Extension으로 강의평가 auto 프로그램 만들기...

이미지
우리 학교는 기말 성적을 보려면 강의평가를 해야한다. 근데 항목들이 수업내용과는 전혀 쌩뚱맞은 이상한 것들이여서 어차피 그냥 대충 좋음 정도로 다 클릭하는 편이다. 어차피 막 할 꺼 오토프로그램을 짜면 참 좋겠다는 생각이 들어서 Chrome Extension형태로 오토프로그램을 만들어 보기로 했다. 일단은 개발자도구를 이용해 강의평가 시스템을 분석했다. 1. 프레임들이 매우 단계적으로 쪼개져있다. saint포털 전체에서 내부적으로 여러개의 iframe이 존재하고 그안에 또 여러개의 iframe이 있고, 또 그안에 frameset/frame들이 있고... 이런 식이다... 2. 강의평가 radio button을 누를때마다, 서버로 data가 전송되고, frame이 reflesh 된다. 따라서 그냥 간단하게 나는 chrome extension에서 target frame에 접근하여 그 frame에서 getElementsByClassName 을 이용해서 radio button을 다 끍어서 체크하는 식으로 하려고 했다. 근데 chrome extension에서 security 상의 문제로 frame에 접근할 수 없었다. 참고로 chrome extension 에 대해 말하자면, 기본적으로 manifest.json 파일이 있고, 이 안에 program의 정보나 권한등을 집어넣는다. 그리고, html와 js를 통해서 program을 제작할 수 있는데, chrome extension과 web page는 서로 독립된 영역을 가진다. 따라서 각자의 code는 서로에게 영향을 끼칠 수 없다.(기본적으로는) 근데 chrome extension에서 web page의 DOM에 access 하고 싶을 때가 있다. 그 때 executeScript 라던지 content_scripts 를 사용하여 그렇게 할 수 있다. (content_scripts 를 사용하려면 permissions에 tabs를 꼭 추가해야함.) 어쨌든 다시 돌아와서 frame...