Bezhlavý prohlížeč - Headless browser
A bezhlavý prohlížeč je webový prohlížeč bez grafické uživatelské prostředí.
Bezhlavé prohlížeče poskytují automatické ovládání webové stránky v prostředí podobném populárním webovým prohlížečům, ale jsou spouštěny pomocí rozhraní příkazového řádku nebo pomocí síťové komunikace. Jsou zvláště užitečné pro testování webové stránky, protože jsou schopny vykreslit a porozumět HTML stejným způsobem jako prohlížeč, včetně stylingových prvků, jako je rozložení stránky, barva, výběr písma a provedení JavaScript a Ajax které obvykle nejsou k dispozici při použití jiných testovacích metod.[1][2]
Případy užití
Bezhlavé prohlížeče se používají pro:[3][4]
- Automatizace testů v moderní webové aplikace.
- Pořizování screenshotů webových stránek.
- Spouštění automatizovaných testů pro knihovny JavaScriptu.
- Škrábání webových stránek o data.
- Automatizace interakce webových stránek.
Google v roce 2009 uvedlo, že používání bezhlavého prohlížeče může jejich indexu obsahu vyhledávače pomoci z webů, které používají Ajax.[5]
Škodlivý
Bezhlavé prohlížeče lze také použít k:
- Provést DDOS útoky na webové stránky.[6]
- Zvyšte dojmy z reklamy.[7]
- Automatizujte webové stránky nezamýšlenými způsoby[8] např. pro plnění pověření.[9]
Seznam bezhlavých prohlížečů
Toto je seznam prohlížečů poskytujících úplnou nebo téměř úplnou bezhlavou implementaci.
- Google Chrome - od verze 59 Chrome podporuje bezhlavý režim v systémech Linux, macOS a Windows[10]
- Firefox - režim bez hlavy je k dispozici v systému Linux od verze 55.[11] Verze 56 přidala podporu pro bezhlavý režim v systémech Windows a macOS[12]
- PhantomJS Bezhlavý webový prohlížeč pomocí WebKit rozložení motoru pro vykreslování webových stránek a JavaScriptCore pro provádění skriptovaných testů. PhantomJS byl původně vyvinut Ariyou Hidayat v roce 2010 a získal široký sled a rozsáhlý vývojový ekosystém. Projekt však byl od té doby archivován a již není v aktivním vývoji.[13][14][15][16][17][18]
- HtmlUnit - bezhlavý prohlížeč napsaný v Javě. HtmlUnit používá Rhino motor poskytovat podporu JavaScriptu a Ajaxu a také schopnost částečného vykreslování.[19][20]
- TrifleJS - bezhlavý internet Explorer skriptovatelný prohlížeč pomocí Motor rozložení trojzubce pro vykreslování stránek a V8 JavaScript engine pro provádění skriptových testů. TrifleJS používá totéž API jazyk jako PhantomJS a funguje pomocí objektu .NET WebBrowser k ovládání jakékoli verze aplikace Internet Explorer nainstalované v počítači.[4][21]
- Splash - bezhlavý webový prohlížeč s HTTP API, Lua podpora skriptů a vestavěný IPython IDE založené na (Jupyter). Splash je napsán v Krajta a používá WebKit modul rozložení. Vývoj byl zahájen ve společnosti ScrapingHub v roce 2013; je částečně financován z DARPA.[22][23]
- SimpleBrowser - lehký, vysoce schopný, bezhlavý webový prohlížeč se skriptovatelným .NET Standard API. SimpleBrowser napsaný v C #, podporující .NET Standard 2.0.
Simulované
Jedná se o prohlížeče, které simulují prostředí prohlížeče. I když jsou schopni podporovat běžné funkce prohlížeče (analýza HTML, cookies, XHR, nějaký JavaScript atd.), nemají poskytnout the DOM a mají omezenou podporu pro Události DOM. Obvykle fungují rychleji než plné prohlížeče, ale nedokážou správně interpretovat mnoho populárních webů.[24][25][26]
- Zombie.js - simulované prostředí prohlížeče pro Node.js.[27]
- ENVJS - simulované prostředí prohlížeče napsané v JavaScriptu pro Rhino motor.[28]
- Edbrowse (omezená podpora DOM)
Zapisovatelný
Jedná se o prohlížeče, které mohou stále vyžadovat uživatelské rozhraní, ale mají programová rozhraní API a jsou určena k použití způsoby podobnými tradičním bezhlavým prohlížečům.
- SlimerJS - skriptovatelný prohlížeč pomocí Mozilla je Gecko layout engine. SlimerJS používá stejný jazyk API jako PhantomJS.[29]
Viz také
Reference
- ^ „Co je to bezhlavý prohlížeč?“. arhg.net.
- ^ "Rychlý start". phantomjs.org.
- ^ „PhantomJS - PhantomJS“. phantomjs.org.
- ^ A b "trifleJS".
- ^ „Oficiální blog Google Webmaster Central: Návrh na zpřístupnění AJAX“. Oficiální blog Google Webmaster Central.
- ^ „Bezhlavý prohlížeč Botnet použit za 150 hodin DDoS útoku“. Komunita Business 2.
- ^ „Bezhlavý webový provoz ohrožuje internetovou ekonomiku“. ecommercetimes.com.
- ^ „Bezhlavé prohlížeče: legitimní software umožňující útok“. ITProPortal.
- ^ „Plnění pověření“. owasp.org.
- ^ „Začínáme s Chrome bez hlavy“. developers.google.com.
- ^ „Bezhlavý režim - podpora prohlížeče“. developer.mozilla.org.
- ^ „Poznámky k verzi Firefoxu 56“. developer.mozilla.org.
- ^ „PhantomJS - PhantomJS“. phantomjs.org.
- ^ „FAQ“. phantomjs.org.
- ^ „Skupiny Google“. google.com.
- ^ „Commits · ariya / phantomjs · GitHub“. GitHub.
- ^ „ariya / phantomjs“. GitHub.
- ^ „Archivace projektu: pozastavení vývoje · Číslo # 15344 · ariya / phantomjs“. GitHub. Citováno 2018-12-05.
- ^ Mike Bowler. „HtmlUnit - Vítejte v HtmlUnit“. sourceforge.net.
- ^ „Platform (Vaadin 7.3.4 API)“. vaadin.com. 6. listopadu 2014.
- ^ "Domov". GitHub.
- ^ "škrábání / rozstřikování". GitHub.
- ^ „Archivovaná kopie“. Archivovány od originál dne 2015-05-28. Citováno 2015-05-28.CS1 maint: archivovaná kopie jako titul (odkaz)
- ^ "assaf / zombie". GitHub.
- ^ „ヘ ル ペ ス が 口 や 目 か ら う つ る? 感染 し た 時 の 症状 と 病院 の 治療 方法 と は“. www.envjs.com. Archivovány od originál dne 2015-02-23. Citováno 2015-03-13.
- ^ „JavaScriptMVC - EnvJS“. javascriptmvc.com.
- ^ "Zombie". labnotes.org.
- ^ Resig, John (29. ledna 2018). „env-js: Čisté prostředí prohlížeče JavaScript“ - přes GitHub.
- ^ Laurent Jouanneau. "SlimerJS". slimerjs.org.