問題タブ [casperjs]

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.

0 投票する
1 に答える
813 参照

unit-testing - CasperJSがクリックイベントで失敗し、CoffeeScriptでassertEquals

PlayでCasperJSを使用してテストしようとしているCoffeeScriptファイルがいくつかあります。Javaを使用したフレームワーク。いくつかの異なるテストが失敗していて、その理由を理解できません。最初の種類のテストは、clickイベントの処理です。使用しているもの:

そしてそれは私にエラーを与えます:

id #start-hsa-app-button確かに存在するリンク。

2番目のエラーはを使用してassertEqualsいます。上記の手順の後の2番目の手順は次のとおりです。

nullこれはすべてのアサートに対して返されます:

assertsだから私には、期待値の代わりにがnull返されているように見えます。CoffeeScriptにエラーはありますか?私はそれを使うのが初めてなので、私が物事を正しくやっていると確信しているとは言えません。それとも、Play!、CasperJS、CoffeeScriptの間の他の相互作用ですか?

0 投票する
1 に答える
2244 参照

javascript - CasperJSは、forループのように複数回送信して評価します

私はCasperJSを使用して、通常は多くの時間を必要とするいくつかのステップを自動化しようとしています。基本的に、CMSにログインして、いくつかのプラグインがインストールされているかどうかを確認する必要があります。それらが更新されている場合は更新しますが、そうでない場合は作成します。ログインしてプラグインのリストが表示されたページにアクセスできましたが、ここで問題が発生しました。これが私が擬似コードで行う必要があることです:

これがコードです

フォームが連続して複数回送信され、「その後」のステップで同じページを複数回キャプチャすることになります...これを解決するにはどうすればよいですか?

0 投票する
2 に答える
2532 参照

javascript - casperjs で xpath を使用して要素を取得できない

私はcasperjsを使用しており、以下はコードです

たくさんありますが、属性タイプがテキストの要素を見つけることができませんでした。

これは私が得る出力です

0 投票する
2 に答える
1727 参照

javascript - DOMコンテキストからcasperjsキャプチャを呼び出します(評価)

評価コンテキストから関数が呼び出されたときにcaptureのようなcasperjsメソッドを呼び出す方法はありますか?

説明:「実際の」ブラウザーまたはキャスパーの両方で実行できるjsスクリプト(qunit)を記述できるようにしたい。

サンプル :

私はこれをクロージャーで試しましたが失敗します:

console.logをメッセージバスとして使用する方法があることは知っていますが、より良い解決策を探しています。

ありがとう

0 投票する
1 に答える
4563 参照

ajax - AJAX 呼び出しを持つ CasperJS クリック イベント

CasperJS を phantomJS 1.7.0 で使用してイベントをシミュレートすることにより、サイトからデータを取得しようとしています。

通常のクリック イベントと選択イベントをシミュレートできます。しかし、私のコードは次のシナリオで失敗します:

リモートページのボタン/アンカーなどをクリックすると、リモートページをクリックすると、AJAX呼び出し/JS呼び出しが開始されます(そのページがプログラマーによってどのように実装されているかによって異なります)。

JS 呼び出しの場合、私のコードは機能し、変更されたデータを取得します。しかし、AJAX 呼び出しが開始された場所をクリックすると、更新されたデータが取得されません。

デバッグのため、エレメントコンテナのページソース(前後)を取得してみましたが、コードに変化は見られません。

待機時間を 10 秒から 1 ミリ秒の範囲で設定しようとしましたが、動作の変更は反映されません。

以下は、クリックするための私のコードです。クリックする要素を表す CSS パスの配列を使用しています。

アップデート:

上記のスクリプトをデバッグするために、phantomJS の remote-debug オプションを使用しようとしました。機能していません。私は窓にいます。Ubuntu でもリモート デバッグを実行してみます。

私を助けてください。これについて何か助けていただければ幸いです。

アップデート:

サンプルとして以下のコードをご覧ください。

クリック前とクリック後の内容は同じです。

タグ (投票 / アクティビティなど) の下にある並べ替えオプションをクリックしています。

0 投票する
1 に答える
1075 参照

javascript - [object Casper].test が定義されていないのはなぜですか?

Windows で CasperJS のテスト API を評価しています。残念ながら、Casper オブジェクトの test プロパティは常に未定義です。

次のスクリプトを実行すると、「this.test is undefined」が出力されます。

ヒントはありますか?

0 投票する
2 に答える
2884 参照

remote-debugging - CasperJS リモート デバッグ オプション

casperJSのリモート デバッグ オプションを使用しようとしています。

これをポートで実行しています6666

デバッガーが起動し、URL で WebKit インスペクターにアクセスできるようになりました

最初の URL はabout:blank.

クリックすると、Web ページ インスペクターが読み込まれます。

_run()コンソールに入力すると、

参照エラー、_run が定義されていないエラー。

私はこれ以上先に進むことができません。どこかで修正が必要な場合はお知らせください。

また、CasperJS スクリプトに明示的なブレークポイントを設定する必要がありますか。もし私がしなければならないなら、どうやって?

更新 1

--remote-debugger-autorun=yes を試しました

これにより、ヘルプに記載されているようにスクリプトがすぐに実行されます。ただし、デバッガーは引き続き実行され、プロセスは終了しません。

出力

about:blank の下に要求された URL が表示されます。

about:blank または要求された URL をクリックすると、WebKit インスペクターが開きます。

しかし、私は再び立ち往生しています。

更新 2

また、phantomJS で移植したサンプルを実行してみました。

結果は同じです。空白の WebKit Inspector ウィンドウで立ち往生しています。

0 投票する
2 に答える
6108 参照

php - PHP の exec() を使用すると、エラーが発生します: Fatal: [Errno 2] No such file or directory; インストールしましたか

exec()PHP をバイナリに使用しようとしていますがcasperjs

しかし、私はエラーが発生しています

CasperJS は PhantomJS の上で実行されます。どちらも手動でインストールし、 と にリンクを作成しまし/usr/local/bin/phantomjs/usr/local/bin/casperjs。したがって、実行時にcasperjsがphantomjsを呼び出すと推測しています。

ただし、サーバーにsshして実行すると正常に動作します

何が悪かったのか?Web ユーザーとしてcasperjs実行できないと思いますか? phantomjsこれが本当なら、どうすれば修正できますか?

0 投票する
1 に答える
702 参照

javascript - PhantomJS/CasperJS が使用した帯域幅を確認/記録する

PhantomJs/CasperJS の各実行中に転送されたデータの量を確認/記録することは可能ですか?

Phantom/Casper の各インスタンスには、instance_id(インスタンスを起動した PHP 関数によって) が割り当てられています。実行が終了した後、転送されたデータの量とinstance_id、おそらくインスタンスを生成した PHP 関数を介して、MySQL データベースに挿入する必要があります。このようにして、個々の phantomjs 実行の帯域幅使用率をログに記録できます。

多くのファントム/キャスパー インスタンスが実行されている可能性があり、それぞれが 1 ~ 2 分持続します。

0 投票する
1 に答える
604 参照

javascript - Phantomjs: Casperjs を Web アプリケーションで動作させるにはどうすればよいですか?

現在、Phantomjs/CasperJS で遊んでいるときは、すべての例に従ってコンソールを介して実行されます。

現在の Web アプリケーションと組み合わせて使用​​する方法はありますか?

例: 私のサイトを使用してフォームに入力すると、その情報が CasperJS に送信され、casper がサイトに応答を返します。等...