2009-11-30 5 views
0

저는 웹 기반 자동화를 작성하려고합니다. 내가 타격을 가하는 사이트는 자동화와 동일한 도메인에 있지 않으므로 사이트 간 스크립팅 문제로 인해 대상 웹 사이트의 DOM에 액세스 할 수 없습니다.브라우저 자동화 및 교차 사이트 스크립팅

저는 프록시를 사용하거나 대상 웹 사이트를 프록시 화하는 것을 원하지 않습니다 (예 : Selenium처럼). 크로스 플랫폼은 가지고있는 것이 좋지만 꼭 필요한 것은 아닙니다. 내가 강제로 할 경우에만 Windows로 갈 것입니다.

WebBrowser 컨트롤과 내 자신의 스크립트 집합을 실행하는 Windows 프로그램을 작성할 수 있다는 것을 알았지 만 사용자가 내 웹 페이지에서 EXE를 다운로드하지 않아도되고 모든 레지스트리가 크로스 탭을 사용하지 않도록 설정하지 않아도됩니다. 도메인 검사. 그것은 매우 사용하기 쉽고, 여분의 소프트웨어 다운로드가 필요하지 않습니다.

MS WebBrowser 컨트롤이 포함 된 ActiveX 컨트롤을 작성하려고 했으므로 "브라우저에서 브라우저"를 사용할 수 있습니다. 이것은 작동하지 않았다. 나는 winocc.cpp 단언 실패로 끝냈다.

다른 옵션에는 어떤 것이 있습니까? Java 애플릿이 작동합니까? Java 기반 브라우저가 필요합니다. JRex 또는 Lobo를 사용하여보아야합니까?

더 나은 방법이 있어야합니다.

답변

0

서버 쪽 언어를 사용하여 화면 스크래핑을 사용하여 외부 페이지를 얻을 수 있습니다. 나는 PHP와 C# .NET을 사용하여이 작업을 수행했지만, 거의 모든 서버 측 언어를 사용하여 대상 페이지에서 전체 HTML 청크를 반환하는 웹 요청을 만들 수 있습니다.

일단 HTML을 사용하면 원하는대로 할 수 있습니다. HTML을 어떤 방식 으로든 조작 한 다음 페이지에 쓰는 문자열 일뿐입니다.

+0

이 방법의 문제점은 자동화를 구축하려고하기 때문에 브라우저 클라이언트가 쿠키를 포함 할 수있는 대상 웹 사이트와 대화식 세션을 유지해야한다는 것입니다. 즉, 서버에서 모든 것을 얻으려면 프록시 경로를 따라 많은 노력을 기울여야합니다. 클라이언트에서이 작업을 수행 할 수있는 방법이 있습니까? –

+0

- 정말로 클라이언트에 다운로드하여 설치할 때까지. 클릭하여 한 번만 배포하면 그 경험을 향상시킬 수 있습니다. – Fenton

관련 문제