2011-08-03 7 views
1

저는 Android 전화를 통해 PC에서 Java 응용 프로그램을 원격 제어하고 있으며,이 경우에는 phones 명령으로 브라우저를 열려면 브라우저가 필요합니다. 나는 특정 주소를 여는 "프로세스"를 크롬에 만들었습니다. 그러나 스크롤과 같이 웹 페이지를 제어하기 위해 Android 폰에서 도구를 제공 할 수 있어야합니다. 프로세스를 포함하는 PC 응용 프로그램에서 스크롤하도록 프로그래밍 방식으로 크롬 명령을 보낼 수 있습니까?Java : 프로세스를 통한 브라우저 제어

미안하지만, 안드로이드 폰이 프로그램과 연결해야하는 유일한 부분은 소켓을 통해서입니다. 자체 화면이있는 PC의 다른 Java 응용 프로그램에 대한 원격 제어로만 사용됩니다.

답변

2

깨끗한 해결책이 존재하지 않는다고 생각합니다.

그러나 나는 다음과 같은 방향을 제안 할 수 있습니다 :

(1) 기본 크롬 API를 조사하려고합니다. JNI와 같은 능력을 가지고 있다면.

(2) 클래스 java.awt.Robot을 사용해보십시오. 사용자의 활동을 시뮬레이션 할 수 있습니다. 마우스 클릭. 안타깝게도 애플리케이션 외부의 창을 찾을 수 없으므로 클릭을 수행 할 위치를 결정하는 것이 문제입니다.

(3) 프록시 서버를 만들고 브라우저를 열어 프록시를 통해 대상 URL로 이동할 수 있습니다. 프록시 서버는 서버와 통신 할 자바 스크립트를 페이지에 삽입합니다. 브라우저를 여는 응용 프로그램은 서버에 명령을 보냅니다. 삽입 한 자바 스크립트는 AJAX를 사용하여 이러한 명령을 받고이를 수행합니다. 자바 스크립트는 브라우저 창을 스크롤 할 수 있으므로 이론적으로 이것을 구현할 수 있습니다.

+0

고마워, 고마워, 내가 당신의 제안으로 해결하려고 할게요 – Alle

+0

로봇은 바퀴를 시뮬레이션을 위해 멋지게 작동했습니다. , 감사:) – Alle

2

당신이 제어하고 주소 표시 줄 명령 '자바 스크립트 : scrollTo (X, Y)를 보낼 수를 편집 할 탭을 대상으로 할 수 있습니다. 방금이 페이지에서 테스트했는데 입력 한 내용을 페이지의 원래 주소로 바꾸면 제대로 작동하는 것 같습니다.

+0

Java 프로그램에서 Process로 처리 할 수 ​​있습니까?이를 통해 그러한 명령을 보낼 수 있습니까? – Alle

+0

아, 정직하지는 않을 것 같습니다. – brindy

1

프로세스를 포함하는 응용 프로그램 응용 프로그램에서 스크롤하기 위해 프로그래밍 방식으로 크롬 명령을 보낼 수 있습니까?

직접적으로. 당신이 할 수있는 일은 안드로이드 클라이언트와 페이지 사이에 앉아서 안드로이드 클라이언트가 명령을 보낼 수있는 일종의 웹 서비스를 만드는 것입니다. 그리고 페이지는 AJAX 호출을 통해 정기적으로 폴링하여 클라이언트가 원하는 것을 볼 수 있습니다. 그것은 크롬 외의 다른 브라우저에서 작동 할 수있는 깨끗한 DIY 방법입니다.

+0

좋아, 내가 다른 방법을 찾을 수 있는지, 그렇지 않으면 내가 감사합니다 :) – Alle