2014-09-24 4 views
1

저는 셀레늄을 2 주 동안 사용해 왔습니다.백그라운드에서 Selenium webdriver를 실행하는 방법은 무엇입니까?

지금까지 정말 유용했습니다.

개발할 때 브라우저의 팝업이 뜨는 것을보고 좋아 보이지만 프로덕션에서는 서버가 Firefox 창을 열고 닫지 않도록하고 싶습니다. 이 포럼을 살펴보고 Google 검색 등을 해봤지만 백그라운드에서 브라우저를 실행할 수있는 방법을 찾지 못했습니다.

아무도이 작업을 수행하는 방법에 대한 팁이 있습니까?

답변

4

헤드리스 브라우저 웹킷 인 PhantomJS를 사용해보십시오. HTMLUnit도 PhantomJs와 유사합니다. 그러나 PhamtomJs의 사용을 적극 권장합니다.

PhantomJsGoogle chrome's JavaScript Engine을 사용하지만 GUI는 사용하지 않습니다.

은 참조 : http://phantomjs.org/

2

서버가 리눅스에있는 경우, 당신은 단지 가상 디스플레이를

을 만들 Xvfb를 사용하여 셀레늄을 실행하는 디스플레이를 할당 할 수있는 서버가 윈도우에있는 경우에는 사용자가 아닌 다른 사용자로 실행하는 데몬을 등록 할 수 있습니다 로그인하여 서비스를 데스크탑에 제공합니다. 로컬 시스템 관리자 계정 or by registry tweaking as detailed here에 대해서만 작동합니다. 서비스가 실행중인 사용자에 대해 인터넷 탐색기 속성을 설정해야합니다.

0

팬텀 좋은 머리가없는 옵션입니다 볼 수 있지만, 당신은 당신이 사용하는 동일한 도구를 고수 할 sssuming ...

  1. Xvfb가 설치 (다음은 플랫폼으로 리눅스를 가정) (apt-get을 Xvfb가 설치)
  2. 그런 다음 셀레늄/파이어 폭스는 "헤드리스"다음 명령 (리눅스를 가정) 실행할 수 있습니다 -

DISPLAY = : 1 Xvfb가 실행 자바 -jar [셀레늄 JAR 파일 이름]

테스트 스위트가 Selenium을 시작하면 브라우저 창이 열리지 않고 Firefox를 사용하여 실행됩니다.

관련 문제