2011-10-23 3 views
0

JavaScript를 사용하는 사이트에서 정보를 가져 오는 Android 애플리케이션을 개발 중입니다.Java android programming and java script

내 안드로이드 앱을 통해 자바 스크립트 기능 중 하나를 실행하고 싶습니다.

예 :이 사이트 http://www.bgu.co.il/tremp.aspx은 자바 스크립트 기능의 하단 (히브리어)에 "다음 페이지"가 ​​있습니다. 내 응용 프로그램을 통해 다음 페이지로 이동하고 싶습니다.

사이트에 "다음 페이지로 이동"명령을 보내거나 버튼의 onClick 이벤트를 활성화하려면 어떻게해야합니까?

EDIT : XML 파서 (sax 파서)를 사용하여이 사이트의 정보를 가져오고 있습니다.이 사이트의 다음 페이지로 이동하여 구문 분석 할 수도 있습니다. 나는 ... 지금

답변

1

당신은 정말 더 완벽하게 조금 설명 할 필요 나 자신은 분명히 희망

해당 페이지를 열고 코드에서 구문 분석, 당신은 웹보기를 내장 한 또는 단지를 만드는 있습니까 사용자가 선호하는 웹 브라우저에서 해당 페이지를 여는 의도?

후자의 경우, 당신이 제안하는 것을 분명히 할 수 없습니다. 당신이 웹보기를 사용하는 경우

난 당신의 솔루션을로드하고있는 웹 페이지를 구문 분석하는 것입니다 즉, 당신은 아직도 당신이

에 원하는 방식으로 페이지의 DOM에 액세스 할 수 없습니다 확신 해요 당신의 코드 일 - Android Developer Guide

+0

XML 파서 (색소 파서)를 사용하여이 사이트의 정보를 얻고 있습니다.이 사이트의 다음 페이지로 이동하여 구문 분석도하고 싶습니다. 내가 지금 내 자신을 명확하게 만들었 으면 좋겠다 – kande

1

체크 아웃 ...은 Using 자바 스크립트를 '다음'페이지를 추출하고 당신이 원하는대로 그와 함께 할 - 지금 우리가 당신은 페이지의 I를 분석하고 알고 당신의 질문에 대답하려고 할 수 있습니다!

자바 스크립트 엔진이 없기 때문에 구문 분석 된 페이지에서 "클릭"할 수 없습니다. XML 문서 일 뿐이므로 노드로 구성된 텍스트 모음입니다.

이 경우에는 페이징 시스템이 실제로 어떻게 작동하는지 알아야합니다. 방화범과 같이 페이지를 보면 상당히 간단합니다.

페이지 시스템은 FORM POST 메커니즘을 통해 작동합니다. '다음'또는 '2'와 같은 페이지 번호를 클릭하면 서버에서 동일한 페이지가로드되지만 POST 변수는 설정됩니다.

주요 변수는 "__EVENTTARGET"입니다 - ASP에로드 할 페이지를 알려줍니다 (물론 히브리어).

이 페이지에서 다른 모든 POST 변수도 전달해야합니다. 즉, 연결된 값이있는 모든 INPUT입니다. "EVENTVALIDATION"이라는 알림이 있는데 " _EVENTTARGET"을 (를) 전달하여이 문제를 너무 쉽게 해결할 수있는 것으로 나타났습니다.

Fiddler와 같은 도구가 유용 할 것입니다. 다음을 클릭하면 서버에 게시되는 내용이 표시됩니다. 다시 호출하여 페이지를로드하면 다음 페이지가 나타납니다. -로드 할 항목이 남을 때까지 각 페이지마다이를 반복하십시오 ...

또는 WebView를 사용하여 페이지를로드하면 해당 페이지에 자바 스크립트 엔진이 있고 '클릭'을 자동화 할 수 있습니다 (그러나 그 방법을 알지 못하지만, 다른 대답은 그것이 가능하다는 것을 암시합니까?)?

+0

고맙습니다,하지만 WebView를 사용하지 않습니다 ... 그래서 도움이되지 않습니다 – kande

+0

흠, WebView 메서드 addJavaScriptInterface가 http://developer.android를 필요로한다고 생각합니다. co.kr/reference/android/webkit/WebView.html # addJavascriptInterface (java.lang.Object, java.lang.String) –