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

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

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

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

Q&A

1回答

347閲覧

PhantomJSなどでbusiness.yahoo.co.jpにログインしたい

tatami40ro

総合スコア6

JavaScript

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

0グッド

0クリップ

投稿2017/09/04 08:21

###前提・実現したいこと
ヘッドレスブラウザのPhantomJS(casperjsから使っています)でbusiness.yahoo.co.jpにログインし、とあるjsonファイルを取得したいと考えています。ですが、このログインができず試行錯誤を繰り返しています。
とくに言語やライブラリにこだわりがあるわけではありません。他によい方法などあればご教授ください。

###該当のソースコード

javascript

1// アカウント情報 2var USER_NAME = "username"; 3var PASSWORD = "password"; 4 5// Casperスタート 6var casper = require('casper').create(); 7casper.start(); 8 9// UA 10casper.userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) Version/7.0.2 Safari/537.74.9"); 11 12// ログインページ 13casper.open("https://login.bizmanager.yahoo.co.jp/login"); 14 15// ユーザー名・パスワード 16casper.then(function(){ 17 18 // check URL 19 var currentURL = this.getCurrentUrl(); 20 this.echo('URL: ' + currentURL); 21 22 // form 23 this.fill("form", { 24 user_name: USER_NAME, 25 password : PASSWORD 26 }, true); 27 28}); 29 30// ログイン後 31casper.then(function(){ 32 33 // check URL 34 var currentURL = this.getCurrentUrl(); 35 this.echo('URL: ' + currentURL); 36 37}); 38 39// 実行 40casper.run();

###試したこと
上記余計なものを除いたソースです。ログインできれば、2つめのcheck URLがログイン後のURLになるはずですが、変化がありません。

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

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

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

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

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

guest

回答1

0

ログインフォームにPOSTするパラメータが不足しているのではないでしょうか?

https://login.bizmanager.yahoo.co.jp/loginにいって、ブラウザ(Firefox)の開発者ツールで
$x('//input[ancestor::form[@name="login_form"]]').forEach((e) => console.log(e));
を実行すると、ユーザー名やパスワード以外の項目がいろいろと出てきますよ。

それ以外の理由も十分に考えられますが、まずはこのあたりから検証されてみては?

それと、提示されているソースではフォームに入力しているだけであって、
ログインボタンをクリックできていないように見えるのですが、そのあたりも確認される必要があると思います。

投稿2017/09/04 08:42

編集2017/09/04 08:54
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問