Headless broswer 리스트
필요성
Jsoup을 이용해서 웹페이지의 정보를 가져오고 싶은데
Javascript가 실행되지 않아서 가져오지 못하는 정보를
headless browser를 통해서 javascript가 실행됨으로써 더 완벽하게 웹페이지의 정보를 가져올 수 도 있고
버튼 클릭도 할 수 있고 로그인도 할 수 있다 등등
Here are a list of headless browsers that I know about:
- HtmlUnit - Java. Custom browser engine. Limited JavaScript support/DOM emulated. Open source.
- Ghost - Python only. WebKit-based. Full JavaScript support. Open source.
- Twill - Python/command line. Custom browser engine. No JavaScript. Open source.
- PhantomJS - Command line/all platforms. WebKit-based. Full JavaScript support. Open source.
- Awesomium - C++/.NET/all platforms. Chromium-based. Full JavaScript support. Commercial/free.
- SimpleBrowser - .NET 4/C#. Custom browser engine. No JavaScript support. Open source.
- ZombieJS - Node.js. Custom browser engine. JavaScript support/emulated DOM. Open source. Based on jsdom.
- EnvJS - JavaScript via Java/Rhino. Custom browser engine. JavaScript support/emulated DOM. Open source.
- Watir-webdriver with headless gem - Ruby via WebDriver. Full JS Support via Browsers (Firefox/Chrome/Safari/IE).
- Spynner - Python only. PyQT and WebKit.
- jsdom - Node.js. Custom browser engine. Supports JS via emulated DOM. Open source.
- TrifleJS - port of PhantomJS using MSIE (Trident) and V8. Open source.
- ui4j - Pure Java 8 solution. A wrapper library around the JavaFx WebKit Engine incl. headless modes.
- Chromium Embedded Framework - Full up-to-date embedded version of Chromium with off-screen rendering as needed. C/C++, with .NET wrappers (and other languages). As it is Chromium, it has support for everything. BSD licensed.
- Selenium WebDriver - Full support for JavaScript via browsers (Firefox, IE, Chrome, Safari, Opera). Officially supported bindings are C#, Java, JavaScript, Haskell, Perl, Ruby, PHP, Python, Objective-C, and R. Unofficial bindings are available for Qt and Go. Open source.
Headless browsers that have JavaScript support via an emulated DOM generally have issues with some sites that use more advanced/obscure browser features, or have functionality that has visual dependencies (e.g. via CSS positions and so forth), so whilst the pure JavaScript support in these browsers is generally complete, the actual supported browser functionality should be considered as partial only.
(Note: Original version of this post only mentioned HtmlUnit, hence the comments. If you know of other headless browser implementations and have edit rights, feel free to edit this post and add them.)
Selenium
https://github.com/SeleniumHQ/selenium
JAR files
https://github.com/SeleniumHQ/selenium/tree/master/third_party/java
zip files
https://selenium-release.storage.googleapis.com/index.html?path=3.1/
'뒷이야기들 > 스터디히스토리강의' 카테고리의 다른 글
브라우저 동시 커넥션 갯수 (0) | 2018.03.01 |
---|---|
OLTP ETL OLAP DSS (0) | 2018.02.06 |
정규식관련 정보 및 테스트 사이트 및 예제 샘플 (0) | 2017.09.19 |
코드 이그나이터 설치 (0) | 2017.09.15 |
프로그래밍 언어 순위 현황 확인 (0) | 2017.01.06 |