質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CasperJS

CasperJSはJavaScriptで実装されたPhantomJSのユーティリティで UIテスト向けのJavaScript フレームワークです。

Q&A

1回答

2374閲覧

Casper.JSで別ウィンドウページのキャプチャがとれません。

noripi

総合スコア34

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CasperJS

CasperJSはJavaScriptで実装されたPhantomJSのユーティリティで UIテスト向けのJavaScript フレームワークです。

0グッド

0クリップ

投稿2016/06/27 09:06

Amazonで商品検索結果の一番最初にある商品の商品ページリンクをクリックして、別ウィンドウに表示された商品詳細ページをキャプチャしたいのですがうまくいきません。
キャプチャ画像が商品検索時の商品一覧ページになってしまいます。

公式ドキュメントに別ウィンドウ時のサンプル的なものを見つけたのですが、イマイチ理解できていないためか上手くいきませんでした。
わかる方、ご教授の程お願いします。

javascript

1//For CasperJS SOURCE 2var casper = require('casper').create(); 3 4//コマンドライン引数を受け取る 5var args = casper.cli.args; 6var host = args[0]; 7var asin = args[1]; 8var ua = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)"; 9var urlPattern = /dp/; 10 11//以下各種設定// 12 13casper.userAgent(ua); 14//トップページを開く 15casper.start(host, function() { 16 // トップページASIN検索に値を入力してsubmitする 17 this.fill('#nav-search form', { 'field-keywords': asin }, true); 18}); 19 20//ページ表示待ち後リンクをクリック 21casper.waitFor(function () { 22 return this.evaluate(function() { 23 return document.querySelector('#result_0 > div > div:nth-child(3) > div:nth-child(1) > a'); 24 }); 25}, function then() { 26 this.click('#result_0 > div > div:nth-child(3) > div:nth-child(1) > a'); 27}); 28 29//別ウィンドウをキャプチャ 30casper.waitForPopup(urlPattern, function() { 31 this.capture('test.png'); 32}); 33 34//CasperJS実行// 35 36casper.run();

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

a タグから target="_blank" を削除して、別のウィンドウに表示されないようにするのが、簡単そうです。
removeAttribute() でできませんか。

投稿2016/06/28 23:24

編集2016/06/28 23:25
q1701

総合スコア274

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

noripi

2016/06/29 01:41

ご回答ありがとうございます。 やはりそうするのが手っ取り早いですよね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問