2017-01-16 17 views
0

電子メールの上に構築されたnightmareJSを使用すると、ヘッドレスブラウジング用のきれいなAPIが提供され、ページで送信されたHTTPリクエストからデータをキャプチャしようとしていますボタン。これは、ページにアクセスしてログインし、ボタンをクリックしてから、クロムのネットワークタブで送信されたリクエストを探して、手動で簡単に実行できます。コンソールからWebページのHTTPリクエストを取得する

確かに、私はヘッドレスでもプログラマチックでもこれをやろうとしているので、ボタンをクリックした後にページから送信されたhttpリクエストをキャプチャする方法が必要です。私が言うことができる限り、nightmareJSのAPIは私にこれを行う手段を提供していませんが、ヘッドレスブラウザのコンソールで任意のjavascriptを非常に簡単に実行できます。

この機能をより簡単に有効にするライブラリが他にもある場合は、それらをお勧めします。私は決して悪夢に縛られていません。

ありがとうございます。

答えて

0

実際にはは、必要に応じて異なります。あなたの要件を正しく読んでいるのであれば、webRequest.onBeforeSendHeaderswebRequest.onBeforeRequest、ナイトメアの.action()メソッドを見てみたいと思うでしょう。最初の2つは発信HTTPリクエスト情報を取得し、後者はナイトメアからイベントを取得するためのカスタムメソッドを定義します。

ログを記録するだけであれば、上記で十分です。リクエストデータに基づいてアクションを実行する必要がある場合は、リクエストイベントがナイトメアアクションハンドラからアウトオブバンドになり、この質問の現在のスコープを超えてソートされるので、それははるかに面倒です。それがあなたが必要とするものなら、私に教えてください。私はこの答えを編集します。それがどのようなIと思われるように私は、以前の問題で誤解[この](https://github.com/electron/electron/blob/master/docs/api/web-request.md) を見てみると

+0

私がキャプチャしようとしているリクエストを送信するボタンとは対照的に、ボタンをクリックした後にレスポンスをキャプチャしようとしています。私は、記述されたメソッドのどれが実際にhttpレスポンスの本体にアクセスできるのか見ていません。私は以下に取っている方向のサンプルコードをいくつか投稿しました。 onCompleted()に渡された二次関数が呼び出されるときに "this"値が未定義であるため、関数サンプルではありません。 – MichaelCook

+0

https://gist.github.com/MikeCook9994/c80d56bc142c42fcb04d2c4e7a49855f – MichaelCook

関連する問題