Categories: 未分類

ヘッドレスブラウザ

Headless_browser

テキストベースのWebブラウザ
と混同しないでください ヘッドレスブラウザは、グラフィカルユーザーインターフェイスのないWebブラウザです。
ヘッドレスブラウザは、一般的なWebブラウザと同様の環境でWebページの自動制御を提供しますが、コマンドラインインターフェイスまたはネットワーク通信を使用して実行されます。これらは、ページレイアウト、色、フォントの選択、 JavaScriptやAjaxの実行などのスタイリング要素を含め、ブラウザと同じようにHTMLをレンダリングして理解できるため、Webページのテストに特に役立ちます。テスト方法。
GoogleChromeのバージョン59 およびFirefoxのバージョン56 以降、ブラウザのリモートコントロールがネイティブでサポートされています。これにより、以前の取り組み、特にPhantomJSは廃止されました。

コンテンツ
1 ユースケース
1.1 その他の用途
2 使用法
2.1 テスト自動化 2.2 代替案
3 ヘッドレスブラウザのリスト
4 も参照してください
5 参考文献

ユースケース
ヘッドレスブラウザの主な使用例は次のとおりです。
最新のWebアプリケーションでのテスト自動化(Webテスト)
Webページのスクリーンショットを撮る。
JavaScriptライブラリの自動テストを実行します。
Webページの相互作用の自動化。

その他の用途
ヘッドレスブラウザは、 Webスクレイピングにも役立ちます。Googleは2009年に、ヘッドレスブラウザーを使用すると、検索エンジンがAjaxを使用するWebサイトのコンテンツをインデックスに登録するのに役立つ可能性があると述べました。
ヘッドレスブラウザもさまざまな方法で誤用されています。
Webサイトに対してDDoS攻撃を実行します。
広告の表示回数を増やします。
意図しない方法でWebサイトを自動化します 。たとえば、資格情報の詰め込みなどです。
ただし、2018年のブラウザトラフィックの調査では、悪意のある攻撃者がヘッドレスブラウザを好むことはありませんでした。 DDoS攻撃、 SQLインジェクション、クロスサイトスクリプティング攻撃などの悪意のある目的で、ヘッドレスブラウザが非ヘッドレスブラウザよりも頻繁に使用されているという兆候はありません。

使用法
いくつかの主要なブラウザはAPIを介してヘッドレスモードをネイティブにサポートしているため、統合されたインターフェイスを介してブラウザの自動化を実行するソフトウェアがいくつか存在します。これらには以下が含まれます:
SeleniumWebDriver -WebDriverのW3C準拠の実装
Playwright- Chromium、Firefox、WebKitを自動化するNode.jsライブラリ
Puppeteer-Chromeを自動化するNode.jsライブラリ

テスト自動化
一部のテスト自動化ソフトウェアおよびフレームワークには、テスト装置の一部としてヘッドレスブラウザーが含まれています。
Capybaraは、 WebKitまたはHeadless Chromeを介したヘッドレスブラウジングを使用して、テストプロトコルでのユーザーの行動を模倣します。
JasmineはデフォルトでSeleniumを使用しますが、WebKitまたはHeadlessChromeを使用してブラウザーテストを実行できます。

代替案
別のアプローチは、ブラウザAPIを提供するソフトウェアを使用することです。たとえば、Denoはその設計の一部としてブラウザAPIを提供しています。Node.jsの場合、jsdom が最も完全なプロバイダーです。ほとんどは一般的なブラウザ機能(HTML解析、Cookie、XHR、一部のJavaScriptなど)をサポートできますが、DOMをレンダリングせず、 DOMイベントのサポートが制限されています。通常、フルブラウザよりも高速に動作しますが、多くの人気のあるWebサイトを正しく解釈することはできません。
もう1つは、Javaで記述されたヘッドレスブラウザであるHtmlUnitです。HtmlUnitは、Rhinoエンジンを使用して、JavaScriptとAjaxのサポート、および部分的なレンダリング機能を提供します。

ヘッドレスブラウザのリスト
これらは、ヘッドレスブラウザAPIを提供するさまざまなソフトウェアです。
Splashは、 Qtを介してWebKitレイアウトエンジンを使用してPythonで記述されたヘッドレスWebブラウザーです。HTTP API、Luaスクリプトのサポート、および組み込みのIPython(Jupyter)ベースのIDEを備えています。2013年にScrapingHubで開発が開始されました。それはDARPAによって部分的に資金提供されています。
Zombie.jsは、Node.js用にシミュレートされたブラウザー環境です。
SimpleBrowserは、.NET Standard 2.0をサポートするC#で記述されたヘッドレスWebブラウザーです。
DotNetBrowserは、独自の.NET Chromiumベースのライブラリであり、オフスクリーンレンダリングモードを提供し、ウィンドウを埋め込んだり表示したりせずに使用できます。
もう1つの注目すべき初期の取り組みは、2008年のJohn Resigによるenvjsでした。これは、 Rhinoエンジン用にJavaScriptで記述されたシミュレートされたブラウザー環境でした。

も参照してください
ヘッドレスコンピューター

参考文献
^ 「ヘッドレスブラウザとは何ですか?」。arhg.net。
^ 「ヘッドレスChrome入門」。developers.google.com。
^ Bekerman、Dima(2018-11-28)。「ヘッドレスクローム:DevOpsはそれを愛しているので、ハッカーもそうです、理由はここにあります|Imperva」。ブログ。2021-02-22を取得。

^ 「Firefox56リリースノート」。developer.mozilla.org。
^ 「ヘッドレスモード-ブラウザサポート」。developer.mozilla.org。
^ 「クイックスタート」。phantomjs.org。
^ ミューラー、ジョン(2009-10-07)。「公式のGoogleウェブマスターセントラルブログ:AJAXをクロール可能にするための提案」。公式のGoogleウェブマスターセントラルブログ。
^ ローリングス、マット(2013-11-20)。「150時間のDDoS攻撃で使用されるヘッドレスブラウザボットネット」。ビジネス2コミュニティ。
^ Mello Jr.、John P.(2014-03-25)。「ヘッドレスWebトラフィックはインターネット経済を脅かす」。ecommercetimes.com。
^ レイウッド、ダン(2014-04-01)。「ヘッドレスブラウザ:攻撃を可能にする合法的なソフトウェア」。ITProPortal。
^ ミューラー、ニール。「資格情報の詰め込み」。owasp.org。
^ シェス、ひまんしゅ(2020-11-17)。「Selenium4はW3Cに準拠しています:知っておくべきことはすべて」。
^ 「GitHub-劇作家」。GitHub。2021-04-11を取得。
^ 「Github-Puppeteer」。GitHub。2021-04-11を取得。
^ シルバ、フランシスコ(2019-05-29)。「capybara-webkitからヘッドレスChromeおよびChromeDriverへ」。ブログ| イマジナリークラウド。2021-02-22を取得。

^ ビンツ、ジョン。「jasmine-headless-webkit-Jasmineの仕様を実行する最速の方法です!」。johnbintz.github.io 。2021-02-22を取得。

^ 「GitHubのJSDOM-ビジュアルブラウザのふりをする」。GitHub。2021-04-18を取得。
^ 「assaf/ゾンビ」。GitHub。
^ “ヘルペスが口や目からうつる?感染した時の症状と病院の治療方法とは”。www.envjs.com。2015-02-23にオリジナルからアーカイブされました。
^ 「JavaScriptMVC-EnvJS」。javascriptmvc.com。
^ マイクボウラー。「HtmlUnit–HtmlUnitへようこそ」。sourceforge.net。
^ 「プラットフォーム(Vaadin 7.3.4 API)」。vaadin.com。2014年11月6日。
^ 「scrapinghub/splash」。GitHub。2021年12月20日。
^ 「アーカイブされたコピー」。2015年5月28日にオリジナルからアーカイブされました。
タイトルとしてアーカイブされたコピー(リンク)
^ 「ゾンビ」。labnotes.org。
^ SimpleBrowserDotNet / SimpleBrowser、SimpleBrowserDotNet、2021-02-10、2021-02-22を取得
^ DotNetBrowserの例、TeamDev、2021-03-12、2021-03-12を取得
^ 「DotNetBrowser」。TeamDev。2021-05-05。
^ ジョン・レシグ(2008-10-12)。「env-js:純粋なJavaScriptブラウザ環境」 –GitHub経由。

admin

Share
Published by
admin

Recent Posts

健康安全研究所

Health_and_Safe…

3週間 ago

健康と安全のエグゼクティブ

Health_and_Safe…

3週間 ago

安全衛生委員会

Health_and_Safe…

3週間 ago

安全衛生当局

Health_and_Safe…

3週間 ago

2008年健康と安全(犯罪)法

Health_and_Safe…

3週間 ago