2015. 8. 3. 01:01
Phantomjs + ajax 함수 호출
2015. 8. 3. 01:01 in 오픈소스관련
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
안녕하세요.
항상 웹 브라우저 오토메이션 관련되서 작업을 하다가 막히는 부분이 생기는데요.
그중 한 부분이 AJAX 부분 입니다.
AJAX로 호출된 결과값이 JSON or HTML 다양하게 나오는데요.
중요한건 AJAX 호출이 동적이기에 정적으로 저장된 페이지에서는 추릴수가 없더군요.
항상 요부분이 걸렸는데요.
해결했습니다.
https://gist.github.com/markstreich/3667944
소스 링크 입니다.
핵심을 보니, readystatechange 란 이벤트의 리스너를 활용 하는 방법입니다.
생각 보다 phantomjs 란 놈이 잼있는게,
Page.evaluate으로 직접 Javascript 함수를 호출 할 수 있습니다.
즉 페이지안에 있는 함수를 브라우저가 호출(사용자의 클릭과 동일)을 할 수 있는데요.
이부분이 단순히 커맨드로 처리 된다는 부분이 참 매력적입니다.
여튼 이 후 나오는 Ajax 의 response는 다 캡쳐가 됩니다.
이렇게 캡쳐된 결과를 토대로 해서 다시 page의 content의 src의 해당 되는 부분을
Jquery의 element.html(result) 로 처리 한 후.
Element.text() 요런 형태로 추리게 되면 원하는 결과를 얻을수 있습니다.
감사 합니다.
'오픈소스관련' 카테고리의 다른 글
터보씨 3.0 입니다. (0) | 2016.11.08 |
---|---|
라즈베리파이 서버 세팅 관련 (0) | 2016.02.29 |
텔레그램-cli+ mono + c# 명령어 처리기 (0) | 2015.07.30 |
raspberrypi + telegram-cli 설치 법. (0) | 2015.07.25 |
홍미2(redmi 2) 한글 ROM 처리. (6) | 2015.05.10 |