사용자 도구

사이트 도구


project:ebsplayer

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
다음 판양쪽 다음 판
project:ebsplayer [2016/11/18 02:02] – [셀레니움 설치] changwooproject:ebsplayer [2016/11/18 21:42] – [스크립트 실행] changwoo
줄 5: 줄 5:
  
 ===== 셀레니움 설치 ===== ===== 셀레니움 설치 =====
-셀레니움 홈페이지에서 [[http://docs.seleniumhq.org/download/|standalone server]]를 다운로드 받는다. 이것을 아래처럼 하면 실행할 수 있다.+<del>셀레니움 홈페이지에서 [[http://docs.seleniumhq.org/download/|standalone server]]를 다운로드 받는다. 이것을 아래처럼 하면 실행할 수 있다.</del> 
 +셀레니움 standalone server는 직접적인 관계가 없다. 실행시키지 않아도 상관 없다.
  
 <code bash> <code bash>
줄 12: 줄 13:
  
 실행하기 전 크롬 드라이버와 크롬 웹브라우저를 설치하도록 한다. 구글 크롬을 써도 되지만 오픈소스 버전인 크로미움을 사용해도 무방하다. 단, 이 경우 크로미움의 실행 파일 이름을 '/usr/bin/google-chrome'으로 링크를 걸자((https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver)). 크롬 드라이버는 [[https://sites.google.com/a/chromium.org/chromedriver/downloads|여기]]서 받을 수 있다. 압축을 풀면 바이너리 파일이 있는데 시스템 패스를 잡아서 실행할 수 있도록 한다. 실행하기 전 크롬 드라이버와 크롬 웹브라우저를 설치하도록 한다. 구글 크롬을 써도 되지만 오픈소스 버전인 크로미움을 사용해도 무방하다. 단, 이 경우 크로미움의 실행 파일 이름을 '/usr/bin/google-chrome'으로 링크를 걸자((https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver)). 크롬 드라이버는 [[https://sites.google.com/a/chromium.org/chromedriver/downloads|여기]]서 받을 수 있다. 압축을 풀면 바이너리 파일이 있는데 시스템 패스를 잡아서 실행할 수 있도록 한다.
 +
 +''chromedriver --version''명령을 실행하여 headless 서버에서 문제없이 실행되는지 체크한다. 필요한 라이브러리가 부족할 수도 있다((http://stackoverflow.com/a/40585051)). 또한 크롬 드라이버는 레포지토리에서 받을 수 있으나, 이 경우 플래시 플러그인이 로딩되지 않아 전혀 필요없다.
 +
 +
  
  
 ===== 스크립트 실행 ===== ===== 스크립트 실행 =====
 프로토타입 스크립트를 생성하였다. 저장소는 [[ https://bitbucket.org/changwoo/ebsplayer|이곳]]이다. 프로토타입 스크립트를 생성하였다. 저장소는 [[ https://bitbucket.org/changwoo/ebsplayer|이곳]]이다.
 +
 +
 +===== 플래시 실행 관련 =====
 +크롬 브라우저는 pepperflashplugin-nonfree를 이용한다. 그리고 이것을 깐다 하더라도 플래시 플레이어가 당장 실행되지는 않는다.
 +
 +<code python>
 +import ebsplayer
 +radio = ebsplayer.ForeignLanguage()
 +</code>
 +
 +이렇게 해서 항상 플래시 플러그인이 동작하도록 설정한다. 그래서 이렇게 화면이 나와야 한다.
 +
 +{{ :project:ebsplayer:flash_plugin_enabled.png?nolink |}}
 +
 +<code python>
 +radio.driver.execute_script("window.scrollTo(0, document.body.scrollHeight/5);")
 +radio.save_screen('<path>')
 +</code>
 +
  
project/ebsplayer.txt · 마지막으로 수정됨: 2016/11/19 07:14 저자 changwoo

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki