問題タブ [webpage-screenshot]
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.
asp.net - asp.netのWebフォームからURLのスクリーンショットを撮る方法は?
exeファイルやサードパーティのものなしでこれを行う方法はありますか? Web アプリケーションで Windows フォーム コンポーネントを使用できず、プログラムでさまざまな URL のスクリーンショットを撮る必要があります。どんなアイデアでも大歓迎です。
html - HTML5は編集したコンテンツを画像またはPDFとして保存します
(私はこれが初めてです)入力するテキストボックスを含むhtml5ページ/アプリケーションを作成したいと考えています。
私の目的は、ユーザーが空のフィールドへの入力を完了したら、Web ページの 1 つのボタンを押して、コンテンツ (すべての写真、テキスト、入力したフィールドを含む) をすべて画像または PDF として保存して、後で印刷できるようにすることです。 .
また、これはモバイル プラットフォーム用に行っていることにも注意してください。そのため、ユーザーが自分のデバイスから編集した後、自分のデバイスに保存できるようにしたいと考えています。そのため、html から pdf へのコンバーター サイトなどのオプションは使用できません。
とにかくこれは可能ですか?ありがとう。
javascript - JavaScript または jQuery を使用してスクリーンショットを撮りますか?
重複の可能性:
jquery を使用して Web サイトのスクリーンショットを生成する
JavaScript で div のスクリーンショットを撮るには?
JavaScriptまたはjQueryを使用してWebページ全体のスクリーンショットを撮り、ボタンをクリックするとその画像を別のウィンドウの背景に設定したい. どうすれば達成できますか。
python - ノーズテストが失敗した場合、スクリーンショットをキャプチャするにはどうすればよいですか?
私は、nosetests を使用して Selenium Webdriver テストを実行しています。ノーズテストが失敗するたびにスクリーンショットをキャプチャしたい。webdriver、python、またはnosetests機能を使用して、最も効果的な方法でそれを行うにはどうすればよいですか?
macos - Webページのスクリーンショットを保存するには?
Webページのスクリーンショットを保存したいのですが、方法がわかりません。アプリdelishと同じように。delishでは、ブックマークを追加すると、アプリがWebサイトをキャプチャして、p5.delishなどのように保存します。スクリーンショットは「.delish」のファイルからのものです。このファイルを作成するにはどうすればよいですか? または誰かがこのアプリのようないくつかのサンプルを持っていますか? どうもありがとうございました!
c# - WebBrowserコントロールは一部のページをレンダリングしません
WebBrowserコントロールをホストし、Webページのスクリーンショットを保存するアプリケーションに取り組んでいます。(C#、VS2008、IE 9、Vista。すべて最新。FEATURE_BROWSER_EMULATIONは0x2328に設定されています)
アプリケーションはURLのリストを取得し、URLに1つずつ移動して、スクリーンショットを保存します。アプリケーションフローは次のとおりです。ファイルからURLを読み取り、最初にHttpWebRequestを使用して取得します。存在する場合は、webBrowser.Navigate(url)を呼び出し、WebBrowser.ReadyStateがWebBrowserReadyState.Completeになるまで待ちます(WebBrowser.DocumentCompletedイベントを処理します。 ReadyStateがWebBrowserReadyState.Completeになるまで何もせず、安全のためにさらに数秒待って(最大10秒テスト)、スクリーンショットを保存して次のURLに移動します。ほとんどすべてのURL(多くの異なるサイトのページ)で正しく機能しますが、アプリケーションに埋め込まれたWebBrowserは、一部のURL、特にwww.securityfocus.comのページ(たとえばhttp://www.securityfocus.com/bid/ )をレンダリングしません。 52023
キャッシュを無効にし、すべてのリクエストの前にキャッシュをクリアしてみました。レンダリングなどを無駄にするために、最大10秒待ちます。WebBrowserがページをレンダリングしないことを視覚的に確認しました。スクリーンショットの保存に関連する問題ではありません(BitBltを使用していますが、関連性はないと思います)。ページは通常IEを使用してレンダリングされます。
なぜこれが起こっているのかについて何かアドバイスがあれば教えてください。前もって感謝します
python - PIL ImageGrab のスクリーンショットに表示されているすべてのアプリケーションが表示されない
私はアプリケーションを持っています。このアプリケーションは主に QT であり、特定の状態では HTML 要素が埋め込まれています。このアプリケーションをローカル コンピューター (Windows 7) で実行し、上記のコードを実行すると、スクリーンショットが完全に取得されます。すべてが見える。
ただし、他のコンピューターでアプリケーションを実行して上記のコードを実行すると、スクリーンショットは取得されますが、それらのスクリーンショットにはアプリケーションが表示されません。さらに奇妙なのは、アプリケーションが特定の状態にある場合、スクリーンショットが成功することです。しかし、他の州ではそうではありません (私のアプリケーション以外はすべて表示されます)。Web 要素に関係する場合もあれば、他の Web 要素が問題なく表示される場合もあります。残念ながら、成功した場合と失敗した場合のパターンを取得できませんでした。私が知っているのは、ImageGrab.grab() が一部のコンピューター (同じオペレーティング システム) で特定の時間にすべての可視アプリケーションを表示しないということだけです。しかし、ネイティブの PrtScn コマンドを実行すると、アプリケーションがどのような状態であっても問題なく表示されます。
助言がありますか?
javascript - Javascript を使用して単一ページ アプリのスクリーンショットを撮る
バックグラウンド
JS を使用してユーザー入力をシミュレートすることにより、作業中のアプリケーションで UI テストを実行します。JS は、テスト済みのアプリが実行されている iframe で一連のマウスとキーボードのトリガーを順番に実行し、ブレークを監視できます。定期的に現状のスクリーンショットを撮れるように設定したいです。
検討済み
これは重複した質問であることは承知しています。最近この分野で進展があった場合に備えて、もう一度質問します。
スクリーンショットを撮るためにhttp://html2canvas.hertzen.com/を調べましたが、ほとんどの場合は機能しますが、CSS3 と Web フォントの使用が多いと問題が発生するようです。
また、私は単一ページのバックボーン アプリに取り組んでおり、(ほとんどの場合) URL に基づいて状態を保存しないため、サーバー側の方法を自由に使用することもできません。
Mozilla 固有のbackground:-moz-element()
プロパティも確認しましたが、必要なページが iframe にある場合は機能しません。
私が必要としているものに最も近いのは、ページを操作してスクリーンショットを撮ることができるphantomJSだと思います。他の方法で実行しているときにテストを表示する機能を使用するため、これは避けたいと思います。
それで、私がここで使えるものを知っている人はいますか?Windows 上で動作する限り、1 つのブラウザー (Firefox または Chrome) に限定することもできます。すべてのクライアントで実行する必要はなく、私のものだけなので、スクリーンショットを JS 経由で保存できる限り、特別な環境をセットアップする必要があっても問題ありません (ただし、Firefox または Chrome のみで、ActiveX はありません)。
TL;DR iframe で実行されているアプリのスクリーンショットを保存するには、Javascript または HTML5 API が必要です。有料のソリューションはありません。
php - クライアントブラウザなしで HTML Canvas を画像として保存
ページがロードされたときに(ユーザーの操作なしで)いくつかの重複するキャンバスに画像を生成しますが、完全に描画するには〜3秒かかります. これらのキャンバスをフラット化し、この画像をサーバー上で PNG に変換して、サムネイル プレビューで使用したいと考えています。
(ctx.drawImage(other_canvas,0,0) を使用して) 単一のキャンバスにフラット化してから、ctx.toDataUrl() はまさに私が必要としているもののように見えます。ユーザーのブラウザを必要とせずにサーバー側でこれを行う方法はありますか? ページをロードし、キャンバスのレンダリングが終了するのを待ってから、いくつかの javascript を挿入して平坦化し、toDataUrl を呼び出し、結果の画像をサイズ変更して保存できるコマンドライン JavaScript/キャンバス パーサーのようなものです。
最初の人がページを表示する前にサムネイルが必要なため、サムネイルをレンダリングしてサーバーに送り返す AJAX ソリューションは機能しません。また、高速である必要があります (できれば、キャンバスのレンダリングにかかる時間 (3 秒) よりわずかに長くするだけです)。browsershots のような外部サービスが待ちきれません。
私は CutyCapt を見ましたが、それはキャンバスだけでなく Web ページ全体をレンダリングします (また、何らかの理由でキャンバスにすべてを描画していないようです)。
ありがとう。