タグ付けされた質問 「phantomjs」

3
ヘッドレスブラウザとスクレイピング-ソリューション[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか? Stack Overflowのトピックとなるように質問を更新します。 5年前休業。 ブラウザーの自動テストスーツとスクレイピングが可能なヘッドレスブラウザープラットフォームの可能なソリューションのリストを掲載しようとしています。 ブラウザのテスト/スクレイピング: セレン - ポリグロットの速いテスト展開のためのブラウザの自動化におけるフラッグシップやPython、Rubyのは、JavaScript、C#、Haskellの多くのバインディング、Firefox用IDE(拡張として)。サーバーとして機能し、多くの機能を備えています。 ジャバスクリプト PhantomJS - JavaScriptは、スクリーンキャプチャと自動化によるヘッドレステストで、Webkitを使用します。バージョン1.8以降、SeleniumのWebDriver APIが実装されているため、任意のWebDriverバインディングを使用でき、テストはSeleniumと互換性があります SlimerJS - PhantomJSと同様に、WebKitの代わりにGecko(Firefox)を使用します CasperJS - PhantomJSとSlimerJSの両方に基づいて構築されたJavaScriptには、追加機能があります ゴーストドライバ - のJavaScriptの実装webdriverをワイヤプロトコルのためPhantomJS。 新しい PhantomCSS -CSS回帰テスト。PhantomJSと Resemble.jsを使用して視覚回帰テストを自動化するためのCasperJSモジュール。 新しい WebdriverCSS-視覚回帰テストを自動化するための Webdriver.ioのプラグイン 新しい PhantomFlow-テストによるユーザーフローの説明と視覚化。Webユーザーインターフェイステストへの実験的アプローチ。 新しい trifleJS -PhantomJS APIを移植して、Internet Explorerエンジンを使用します。 新しい CasperJS IDE (商用) NODE.JS ノードファントム-PhantomJSとnode.jsの間のギャップを埋めます WebDriverJs -Seleniumチームによるnode.jsのSelenium WebDriverバインディング WD.js -WebDriver / …

8
PythonでPhantomJSを使用する方法はありますか?
私が使用したいPhantomJSをしてPythonの。私はこの問題をググりましたが、適切な解決策を見つけることができませんでした。 私は見つけるos.popen() 良い選択かもしれません。しかし、私はそれにいくつかの引数を渡すことができませんでした。 subprocess.Popen()今のところ、これを使用するのが適切な解決策かもしれません。より良い解決策があるかどうか知りたい。 PythonでPhantomJSを使用する方法はありますか?
203 python  phantomjs 

25
UbuntuでPhantomJSをセットアップして実行するにはどうすればよいですか?
PhantomJSをセットアップして、ビデオに録画しました:https ://www.dailymotion.com/video/xnizmh_1_webcam ビルド手順:http : //phantomjs.org/build.html セットアップに問題はありますか? セットアップした後、クイックスタートチュートリアルを読み、このコードを書きました phantomjs hello.js 「コマンドが見つかりません」というエラーが表示されます。この問題を解決するにはどうすればよいですか?

4
PhantomJSを使用してフォームを送信する方法
私はphantomJS(なんと素晴らしいツールなのか!)を使用して、ログイン資格情報を持つページのフォームを送信し、宛先ページのコンテンツをstdoutに出力しようとしています。ファントムを使用してフォームにアクセスし、その値を正常に設定することはできますが、フォームを送信して次のページのコンテンツを出力するための正しい構文がよくわかりません。私がこれまでに持っているのは: var page = new WebPage(); var url = phantom.args[0]; page.open(url, function (status) { if (status !== 'success') { console.log('Unable to access network'); } else { console.log(page.evaluate(function () { var arr = document.getElementsByClassName("login-form"); var i; for (i=0; i < arr.length; i++) { if (arr[i].getAttribute('method') == "POST") { arr[i].elements["email"].value="mylogin@somedomain.com"; arr[i].elements["password"].value="mypassword"; // …

5
Casperjs / PhantomJsとSelenium
UIテストを自動化するためにSeleniumを使用しています。最近、ユーザーの大半がChromeを使用しているのを見てきました。だから私たちは知りたかった-PhantomJSとSeleniumを使用することの長所と短所: テストケースの実行にかかる時間など、パフォーマンスの面で実際に利点はありますか? いつSeleniumよりもPhantomJSを選ぶべきですか?

5
SPA SEOをクロール可能にする方法は?
私は、Googleの指示に基づいて、SPAをGoogleがクロールできるようにする方法について取り組んでいます。かなりの数の一般的な説明がありますが、実際の例を使用したより詳細な段階的なチュートリアルはどこにもありませんでした。これを終えた後、他の人もそれを利用し、おそらくさらに改善できるように、私の解決策を共有したいと思います。コントローラー を使用MVCし、サーバー側でPhantomjs、クライアント側でDurandalを有効にして使用しています。私はクライアントとサーバーのデータのやり取りにもBreezejsを使用しています。これらすべてを強くお勧めしますが、他のプラットフォームを使用しているユーザーにも役立つ一般的で十分な説明を提供しようと思います。Webapipush-state

13
phantomjsが「完全な」ページの読み込みを待機しない
PhantomJS v1.4.1を使用して一部のWebページをロードしています。私は彼らのサーバー側にアクセスできません、私はそれらを指すリンクを取得しています。そのWebページでAdobe Flashをサポートする必要があるため、私は古いバージョンのPhantomを使用しています。 問題は、多くのWebサイトがマイナーコンテンツを非同期で読み込んでいることです。そのため、PhantomのonLoadFinishedコールバック(HTMLでのonLoadのアナログ)が、まだすべてが読み込まれていないのに早く起動しました。たとえば、広告のようなすべての動的コンテンツを含むスクリーンショットを作成するために、Webページが完全に読み込まれるのを待つ方法を誰かが提案できますか?

12
PhantomJSがHTTPSサイトを開けない
loadspeed.jsの例に基づく次のコードを使用して、httpサーバー認証も必要とするhttps://サイトを開きます。 var page = require('webpage').create(), system = require('system'), t, address; page.settings.userName = 'myusername'; page.settings.password = 'mypassword'; if (system.args.length === 1) { console.log('Usage: scrape.js <some URL>'); phantom.exit(); } else { t = Date.now(); address = system.args[1]; page.open(address, function (status) { if (status !== 'success') { console.log('FAIL to load the address'); } …

11
PhantomJS; 要素をクリックします
PhantomJSで要素をクリックするにはどうすればよいですか? page.evaluate(function() { document.getElementById('idButtonSpan').click(); }); これにより、「未定義は関数ではありません...」というエラーが表示されます。 代わりに私が return document.getElementById('idButtonSpan'); それを印刷して、 次に、[オブジェクトオブジェクト]を出力するため、要素は存在します。 この要素はボタンとして機能しますが、実際には単なるスパン要素であり、送信入力ではありません。 このボタンをクリックしてCasperを操作することはできましたが、Casperには他の制限があったため、PhantomJSに戻りました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.