問題タブ [headless-browser]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
automation - ヘッドレスインターネットブラウザ?
私は次のことをしたいと思います。Web サイトにログインし、特定のリンクをいくつかクリックしてから、ダウンロード リンクをクリックします。これを Windows のスケジュールされたタスクまたは Linux の cron ジョブとして実行したいと思います。私は使用する言語にこだわりはありませんが、可能であればブラウザ ウィンドウを画面に表示せずに実行したいと考えています。
firefox - Linux上のヘッドレスでスクリプト可能なFirefox/Webkit?
私はいくつかのWebインタラクション、つまり安全なWebサイトからのファイルの定期的なダウンロードを自動化することを目指しています。これには基本的に、ユーザー名/パスワードを入力し、適切なURLに移動することが含まれます。
Pythonで簡単なスクリプトを試した後、より高度なスクリプトを試しましたが、この特定のWebサイトがログインに不快なJavaScriptとフラッシュベースのメカニズムを使用していて、メソッドが役に立たなくなっていることがわかりました。
次にHTMLUnitを試しましたが、それもうまくいかないようです。Flashの使用が問題だと思います。
もう考えたくないので、実際のブラウザでログインして必要なファイルを取得するためのスクリプトを作成することに傾倒しています。
要件は次のとおりです。
- Linuxサーバーで実行します(つまり、Xが実行されていません)。私が本当にXIを持っている必要があるなら、それを実現することができますが、私は幸せではありません。
- 信頼できること。私はこのことを始めて、二度と考えたくない。
- スクリプト化可能であること。それほど洗練されたものはありませんが、実行するさまざまな手順とアクセスするページをブラウザに伝えることができるはずです。
ヘッドレス、Xレスのスクリプト可能なブラウザに適したツールキットはありますか?このようなことを試したことはありますか?もしそうなら、何か知恵の言葉はありますか?
java - HtmlUnit API for Java (ヘッドレス ブラウザ) に問題がありますか?
私は HtmlUnit ヘッドレス ブラウザを使用してこのWeb ページを閲覧しています (問題をよりよく理解するために Web ページを表示できます)。
選択の値を「1」に設定しました
以下のコマンドで
そして、次のボタンをクリックしました
以下のコマンドで
しかし、ボタンをクリックして Thread.sleep() メソッドで 60 秒間待機した後でも、同じ HtmlPage を取得しています。
しかし、実際のブラウザで同じことをすると、CAPTCHA を含むページが表示されます。
htmlunit に何かが欠けていると思います。
Q1. htmlunit のブラウザから同じページ (CAPTCHA を含む) を取得できないのはなぜですか?
java - CentOS 5.4 での画像へのヘッドレス HTML レンダリング
HTML をレンダリングし、レンダリングされたイメージをヘッドレス CentOS 5.4 サーバー上のファイルとしてキャプチャするというプロジェクト要件があります。私の特定の要件は次のとおりです。
1) 入力はレンダリングするページへの URL (またはローカル HTML ファイルへの file:// URL) になり、出力はページのレンダリングされた画像を含む画像ファイルになります
2) CSS はレンダラーによって最大でサポートされる必要がありますCSS レベル 1
3) .GIF または .PNG ファイルの透過色を含め、ページ内の静止画像はレンダリングされた画像で適切に表示される必要があります
4) ヘッドレス CentOS 5.4 サーバーで実行できる必要があります。
5) ソリューションは、商用利用が無料ではない製品またはコンポーネントに依存してはなりません
画面キャプチャを取得して画像に保存する以外に、ページで何もする必要はありません。難しい部分は、ヘッドレス環境でこれを行うようです。私が議論したソリューションの中には、機能するためにディスプレイが必要なものがあります。
助言がありますか?
前もって感謝します、ジム
解決策: 最終的に、標準ウィジェット ツールキット ライブラリ (www.eclipse.org/swt) を組み込みブラウザー機能に使用することになりました。これにより、ブラウザー コントロールを含むウィンドウをプログラムで開き、ページをレンダリングし、ウィンドウのコンテンツを画像ファイル (通常は PNG) にキャプチャすることができました。このアプローチの避けられない唯一の欠点は、スクリーン キャプチャを実行するためにウィンドウを一瞬だけ表示する必要がある場合の「ちらつき」です。私はそれと一緒に暮らすことができます。残りは、システム リソースを取得する SWT オブジェクトを初期化するためのコード、ページの読み込みが正常に完了したかどうかを確認するためのリスナー、ハングした接続をクリーンアップするためのコード (何らかの理由でページの読み込みが完了しない場合) だけでした。
チームメイトに、CentOS Linux で xvfb (X 仮想フレームバッファ) をいじってもらいました。最初のテストは機能しているように見えるので、以下のポスター (xvfb を試してみると言っている) からのアドバイスは、私の問題のヘッドレス サーバー部分に対する実行可能な解決策のようです。
hosting - WatirをHerokuにデプロイして、HTMLスナップショットを生成できますか?もしそうなら、どのように?
HerokuでホストされているWatirを使用してHTMLスナップショットを生成したいと思います。
AJAXアプリケーションをクロール可能にするためのGoogleの完全な仕様は、 HTMLUnitの使用を提案しています...「HTMLスナップショットを作成するにはどうすればよいですか?」を参照してください。ポイント#3。
HtmlUnitは、Java専用のヘッドレスブラウザエミュレータです。残念ながら、jRubyはHerokuのオプションではありません。したがって、HtmlUnitは除外されます(私の知る限り)。
興味があれば、Google App EngineでホストされるサービスとしてのHtmlUnitについて別の質問があります... AJAXアプリケーションをクロール可能にしますか?Google App Engineで簡単なWebサービスを構築してHTMLスナップショットを作成するにはどうすればよいですか?...まだ証明された例/答えを待っています。
asp.net - ASP.NET用のヘッドレスブラウザー
私は完全なajaxWebアプリを開発しています。したがって、Googleのクロール可能なアプリを開発する必要があります。また、googlebotのスナップショットを作成する必要があります。
ヘッドレスブラウザがASP.NETのjavascriptおよびajaxで動作することをご存知ですか?
XBrowserを見つけましたが、現在JavaScriptはサポートされていません。
私の英語でごめんなさい:)。
screen-scraping - HtmlUnit の代替
これまでに利用可能なヘッドレス ブラウザーについて調査したところ、HtmlUnit がかなり広く使用されていることがわかりました。HtmlUnit と比較して有利な HtmlUnit の代替手段はありますか?
ありがとうネイン
firefox - 本物のヘッドレスブラウザ
AJAX を多用するエンタープライズ Web アプリケーションのテストを担当しています。人間の介入なしでテストを継続的に実行できるシステムを構築する必要があります。現在、主に負荷テストに関心がありますが、負荷を生成するために使用したのと同じスクリプトを機能テストで使用したいと考えています。
現在、負荷テストのためにグラインダーを使用しています。スクリプトを記録し、それらを処理して、特に非同期リクエストを処理します。このシステムは今のところ機能しています。ただし、スクリプトはデリケートで、開発サイクル中に維持することはできません。HTMLとJavaScriptの詳細を抽象化するプログラミング言語を介して「ブラウザを実行」できる必要がありますが、ヘッドレスでなければなりません。つまり、テスト スクリプトが壊れた場合、それはアプリケーションの実際の破損を表しているに違いありません。xvfbで実行中の firefox は、xvfbで実行されているヘッドレス Linux マシンでも、firefox が依然として大量のリソースを使用しているため、機能しません。ヘッドレスxサーバー下でwebdriverでFirefoxを動かしてみました。
これが理想的なソリューションであるため、私は何日もHTMLUnitに取り組んできました。私はJythonでHTMLUnitドライバーを書いてきたので、それらをグラインダーで使用できます。残念ながら、私は javascript エラー (firefox/chrome/IE の実際のエラーではない) に遭遇しており、私はこの道の終わりにいると思います。いずれにせよ、私はHtmlUnitをよく知っており、代替手段が本当に必要です。
他にもいくつかの解決策があることは知っています ( envjsとzombie.js )。しかし、これらのテクノロジーがどの程度開発されているかはわかりません。行き止まりになってさらに 1 週間を無駄にしたくありません。
Firefox または Webkit のソース コードを使用して、すべてのレンダリング/GUI 呼び出しをコメント アウトし、実際のヘッドレス ブラウザーを作成するのはどれほど難しいでしょうか? これは行われましたか?これを行う方が簡単でしょうか?正直なところ、なぜこれがまだ行われていないのか理解できないので、予想よりもはるかに難しいと推測しています。
妥当なパフォーマンス特性を備えた真のヘッドレス ブラウザを手に入れることができれば (この問題を解決するには大きなサーバー フリートがありますが、GUI レンダリングを備えた実際の Firefox には十分な大きさではありません)、準備が整うと思います。
freebsd - FreeBSD サーバー用のヘッドレス ブラウザ?
現在の HTML/CSS/JS をかなり正確にレンダリングできる、FreeBSD 共有 Web サーバーで実行するオープン ソースのヘッドレス ブラウザを探しています。
私は Unix/サーバーにあまり熟練しておらず、root アクセスも持っていないので、典型的な Apache 共有 Web ホスティング サーバーにインストールされないような依存関係はありません (私が信じている Java と HtmlUnit を除外します)。 FreeBSD 用にプリコンパイルすることもできます。
コマンドラインや PHP でアクセスできるインターフェイスが必要だと思います (それがどのように機能するかはよくわかりません)。
次の場合は、この質問に回答してください。
ヘッドレス ブラウザーを使用してサーバー側で物事をレンダリングする Web 開発者のこの新しいトレンド (ページ プレビュー、Google フレンドリーな AJAX インデックス作成など) については、既によくご存じでしょう。
そして、私のニーズに合わせて推奨するソフトウェアがいくつかあります
ありがとう