問題タブ [phantomjs]
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.
javascript - PhantomJS と変更された DOM の取得
サードパーティのサーバーから Web ページをダウンロードし、ブラウザと同じように実行してから HTML を解析する必要があるツールを開発しています。私が苦労しているのは、すべての JavaScript が実行され、DOM が変更された後に、ツールが HTML を解析する必要があることです。私はこの目的のために PhantomJS を使用しようとしていますが、コードの小さなスニペット (DOM にいくつかのノードを追加する外部 javascript を含む小さな html ドキュメント) で動作しますが、実際のサイト ( http://www .dba.dk/ ) js コードによってすべての変更が行われた後、最終的な HTML を取得できません。
1週間以上立ち往生しているので、これについて本当に助けが必要です.
私の PhantomJS コードは単純です。
コンソールにダンプされた HTML に、動的に生成されたコンテンツが含まれていない
javascript - javascript(phantomjs)を使用したhashbangリンクのナビゲート/スクレイピング
ほぼ完全にJavaScriptで生成されたWebサイトのHTMLをダウンロードしようとしています。したがって、ブラウザアクセスをシミュレートする必要があり、PhantomJSで遊んでいます。問題は、サイトがハッシュバンURLを使用していて、PhantomJSにハッシュバンを処理させることができないようです。ホームページを呼び出し続けるだけです。
このサイトはhttp://www.regulations.govです。デフォルトでは、#!homeに移動します。次のコード(ここから)を使用して、さまざまなハッシュバンを処理してみました。
このコードは正しいハッシュバンを生成しますが(たとえば、ハッシュを「#!contactus」に設定できます)、動的に異なるHTMLを生成することはなく、デフォルトのページだけを生成します。ただし、を呼び出したときの出力は正しく行われますdocument.location.hash
。
また、初期アドレスをハッシュバンに設定しようとしましたが、スクリプトがハングして何もしません。たとえば、URLをhttp://www.regulations.gov/#!searchResults;rpp=10;po=0
スクリプトに設定すると、アドレスを端末に出力した後にハングし、何も起こりません。
javascript - Phantom JS - clipRect - Javascript ヘルプ
ファントムjsを使用してページのスクリーンショットを撮っています
http://code.google.com/p/phantomjs/wiki/QuickStart#Rendering
それはclipRectと呼ばれる機能を持っています
http://code.google.com/p/phantomjs/wiki/Interface#clipRect_(オブジェクト)
次のコードをclipRectに変更して、全体ではなく部分的なスクリーンショットのみを取得する方法を誰かに教えてもらえますか?
ruby-on-rails - Ruby on Rails アプリケーションからの phantomjs の実行
Phantomjsの使用に興味があり、Ruby on Rails アプリケーションから実行したいと考えています。ただし、これはコマンド ライン ツールです (つまりphantomjs rasterize.js http://raphaeljs.com/polar-clock.html clock.png
、ターミナルで何かを実行する必要があります)。アプリからコマンド ライン ツールを実行するにはどうすればよいですか?
ruby-on-rails - Heroku で Phantomjs を実行する
Heroku でコマンドライン ツールのphantomjsを実行する方法はありますか?
javascript - phantomjs:コマンドが見つかりません
私はこれらの指示に従いました(実行可能ファイルが見つからないようで、必要ないと思われるため、実行可能ファイルをPATHにコピーする場合を除きます)。次に、パブリックjavascriptsディレクトリにimage_render.jsというファイルを作成しました。
phantomjs render_image.js
その中に、それを保存して、私のターミナルで走りました。しかし、私の端末はコマンドを認識しません:
私は何を間違えましたか?
ruby-on-rails - Rubyでコマンドラインプロセスを並行して実行する
コマンドラインツールであるPhantomJSを使用して、Webサイトの画像をレンダリングしています。これらを次々に実行するのではなく、並行して実行したいと考えています。これどうやってするの?
web-scraping - gmail へのログインの例を示してから、phantomjs を使用して最初のメールを png に出力できますか?
gmail へのログインの例を示してから、phantomjs を使用して最初のメールを png に出力できますか?
私が理解しようとしているのは、gmail にログインし、結果に基づいて次の Web ページで別の操作を行う例です...
javascript - https://gist.github.com/384583 の watch() と unwatch() の shim が phantomjs で機能しないのはなぜですか?
私は、Web サイトの完全な DOM へのアクセスとクロスドメインでサイトを開く機能の両方を本質的に必要とするサーバー側の JavaScript のビットとピースをいくつか実行していますが、少なくともこれまでのところ、PhantomJS はその仕事に最適なツールのようです。
ただし、 Object.watch() メソッドがありません。これはむしろ必要です。そのため、Stackoverflow の別の場所 ( https://gist.github.com/384583で入手可能) に回答として投稿されたシムを使用して、そのようなメソッドにアクセスできるようにしようとしています。
機能していません。
それはまた、私の JavaScript の理解レベルをはるかに超えているため、それが何をしているのか、なぜ機能していないのかを正確に理解するのを誰かが助けてくれるのではないかと思っています。
助けてくれてありがとう、
トビー
(以下に引用したコード:
そして私のテストコード:
phantomjs - Ubuntu 11 サーバーの PhantomJS、PNG 画像が 256 色に見える
そのため、Ubuntu 11 サーバーで PhantomJS を使用しており、セットアップに必要なすべてのことを行った後 (Xvfb のインストールを含む)、キャプチャされた Web ページが 256 色の PNG ファイルとして保存されているように見えることがわかりました。
Phantom を Windows にインストールしましたが、その問題はまったくありません。Web ページはフル 32 ビット カラーです。何か案は?