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

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

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

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

Q&A

1回答

954閲覧

nightmareJSにおける関数表記

MASAKIX

総合スコア12

JavaScript

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

0グッド

0クリップ

投稿2018/09/02 17:38

編集2018/09/02 17:41

動作確認済のプログラムが長いので関数を用いて記述したところ、構文エラーにはならないものの関数表記した部分で止まってしまいます。何が原因でしょうか?

js

1var Nightmare = require('nightmare'); 2var nightmare = Nightmare({ show: true }); 3var mail = '●'; 4var password = '●'; 5var securityCode = '●'; // !!! DANGER !! 6var itemUrl = 'https://www.yodobashi.com/product/100000001002085539/index.html'; 7function ending() 8{ 9nightmare 10.wait('.btnOrange.js_c_payment.js_c_filterBtn') 11.wait(3000) 12.click('.btnOrange.js_c_payment.js_c_filterBtn') 13.wait('.js_c_point_select.js_c_usePoint') 14.click('.js_c_point_select.js_c_usePoint') 15.type('input#goldPointForUse', '●') 16.click('.btnRed.js_c_next') 17.wait('#creditCard\.securityCode') 18.insert('#creditCard\.securityCode', securityCode) 19.wait(3000) 20.click('.btnRed.js_c_order.js_c_filterBtn') 21.wait('.orderFinishItemInfo') 22.end() 23.then((result) => {console.log('done');}) 24.catch((error) => {console.error('Search failed:', error);}) 25} 26 27function credit() 28{ 29nightmare 30.wait('input#cardNumber') 31.type('input#cardNumber','●') 32.select('select#cardExpirationMonth','●') 33.select('select#cardExpirationYear','●') 34.click('#js_i_next.btnRed') 35} 36 37// 前提条件:ログインしていない 38nightmare 39 .goto(itemUrl) 40 .wait('#js_buyBox') 41 // 商品をカートに追加 42 .select('select#qtySel','●' ) 43 .click('.yBtnText') 44 // 購入手続きへ進む 45 .wait('.cartinBox') 46 .goto('https://order.yodobashi.com/yc/shoppingcart/index.html?next=true') 47 .click('#sc_i_buy') 48 // ログイン 49 .wait('#js_i_form') 50 .type('input#memberId', mail) 51 .type('input#password', password) 52 .click('#js_i_login0') 53 // ログインするとカートへリダイレクトされるので表示されるまで待つ 54 .wait('.cartItemBlock') 55 .click('#sc_i_buy') 56 //メインフローの分岐 57 .wait('#js_i_form') 58 .exists('input#cardNumber') 59 .then(function (result) 60{ 61 if (result) { 62 return 63 credit() 64 //住所変更~最後まで続く,以下略.ココで止まる 65 ... 66 //住所変更~最後まで終わり 67 } else { 68 return 69 //住所変更~最後まで 70 ... 71 //住所変更~最後まで終わり 72 73}); 74

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

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

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

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

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

guest

回答1

0

できました。すみません。

投稿2018/09/02 21:20

MASAKIX

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問