Dreamhost 공유 호스팅이 있고 Selenium과 함께 사용할 수 있도록 Firefox 3.0을 헤드리스로 실행하려고합니다.

실행하려고하면 (~/local/bin/firefox/firefox) 다음 오류 메시지가 표시됩니다.

error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory 

어떻게해야합니까? 이 공유 개체 파일을 요구하지 않고 Linux에서 Firefox를 실행 하시겠습니까?

답변

이것은 다소 오래된 질문이라는 것을 알고 있지만 원했습니다. Google에서 지시 한대로 최근 답변을 추가하고 답변을 찾기 위해 잠시 검색해야했습니다.

Firefox 57에서는 Firefox를 설치하고 실행하기 만하면 헤드리스 모드로 실행할 수 있습니다.

firefox -headless http://test.com/ 

여기에서 Firefox 개발자 문서를 참조하세요.

댓글

  • 첫 번째 릴리스에서 Firefox 헤드리스 모드에는 여전히 GTK3가 설치되어 있습니다. 이 문제는 내가 아는 한 지금까지 해결되었습니다.

답변

Firefox를 실행할 수 없습니다. 필요한 모든 Gtk 라이브러리가 없지만 라이브러리를 설치하면 쉽게 해결할 수 있습니다. 일반적으로 패키지 관리 시스템을 통해 Firefox를 설치하면 필요한 모든 라이브러리를 가져옵니다.

Firefox를 정상적으로 실행하려면 X 서버 <가 필요합니다. / a> (응용 프로그램이 콘텐츠를 빌드하는 데 사용하는 라이브러리 인 Gtk와는 달리 창과 그 내용을 표시하는 부분입니다.) 일반적으로 서버에서 실행되지 않는 것입니다. X 서버없이 Firefox에서 할 수있는 작업은 매우 적습니다. Selenium이 그중 하나인지는 모르겠습니다.

서버에서 Firefox를 실행하려면 “가상”X 서버를 실행하세요. 간단한 것은 Xvfb ( v irtual f rame b uffer X 서버). X.org 서버 배포 에 있습니다. 사용 예 :

Xvfb :19 -screen 0 1024x768x16 & export DISPLAY=:19 firefox & 

댓글

답변

할 수 없습니다. X 및 Gtk + 클라이언트 라이브러리와 연결되어 있으며이 라이브러리 없이는 빌드 할 수도 없다고 생각합니다.

Firefox 헤드리스 버전에서도 GTK +는 여전히 필요합니다 .

Answer

Selenium은 GUI 테스트 도구이므로 X 없이는 작동 할 수 있다고 믿기가 어렵습니다.

그래서 내 가장 좋은 추측은 헤드리스 서버에는 Gilles가 제안한 것과 같은 X 설치가 필요하다는 것입니다. 유사한 대안이 많이 있습니다.

답변

당신은

  • Firefox를 사용할 수 있습니다. 가상 프레임 버퍼에서 : xvfb-run -a firefox
  • SlimerJS (내장 된 Gecko / 렌더링 엔진 Firefox), xcfb 포함,
  • PhantomJS 를 디스플레이없이 GhostDriver -WebKit이 괜찮은 경우

댓글

  • ' xvfb-run -a … ' xvfb가 아닙니다.
  • 감사합니다 🙂 아마도 그럴 것입니다 그동안 변경 되었습니까?

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다