質問編集履歴

1 ,,,

yuki_90453

yuki_90453 score 201

2017/02/03 22:49  投稿

Seleniumでクッキーを使いたい
###やりたい事
SeleniumとPhantomJSでクッキーを使いログイン画面を省略したいと考えています。
###直面している問題
問題は2つあり。
1) 出力されるクッキーが複数あり、どれがログイン情報を格納しているかわかりません。
2) 複数のcookieを読み込んだ状態でアクセスしたいのですが、失敗してしまいます。
対象のクッキーのサンプル
```ここに言語を入力
[{:name=>"s_sess", :value=>"", :path=>"/", :domain=>".test.co.jp", :expires=>nil, :secure=>false},
{:name=>"friedrice", :value=>"", :path=>"/", :domain=>".example.co.jp", :expires=>#<DateTime: 2017-01-30T13:58:44+00:00 ((2457784j,50324s,46n),+0s,2299161j)>, :secure=>true},
{:name=>"s_pers", :value=>"", :path=>"/", :domain=>".test.co.jp", :expires=>#<DateTime: 2022-01-28T13:58:41+00:00 ((2459608j,50321s,999999892n),+0s,2299161j)>, :secure=>false},
{:name=>"riceball", :value=>"", :path=>"/", :domain=>"mainmenu.example.co.jp", :expires=>nil, :secure=>true},
{:name=>"shop", :value=>"", :path=>"/", :domain=>".example.co.jp", :expires=>nil, :secure=>true},
{:name=>"sesame", :value=>"", :path=>"/", :domain=>".example.co.jp", :expires=>#<DateTime: 2017-01-30T13:58:40+00:00 ((2457784j,50320s,999999973n),+0s,2299161j)>, :secure=>true},
{:name=>"ginger", :value=>"", :path=>"/", :domain=>".example.co.jp", :expires=>nil, :secure=>true}]
```
対象のコード
```ここに言語を入力
get "mainmenu.example.co.jp"
$selenium.manage.add_cookie([{:name=>"s_sess", :value=>"", :path=>"/", :domain=>".test.co.jp", :expires=>nil, :secure=>false},
{:name=>"friedrice", :value=>"", :path=>"/", :domain=>".example.co.jp", :expires=>#<DateTime: 2017-01-30T13:58:44+00:00 ((2457784j,50324s,46n),+0s,2299161j)>, :secure=>true},
{:name=>"s_pers", :value=>"", :path=>"/", :domain=>".test.co.jp", :expires=>#<DateTime: 2022-01-28T13:58:41+00:00 ((2459608j,50321s,999999892n),+0s,2299161j)>, :secure=>false},
{:name=>"riceball", :value=>"", :path=>"/", :domain=>"mainmenu.example.co.jp", :expires=>nil, :secure=>true},
{:name=>"shop", :value=>"", :path=>"/", :domain=>".example.co.jp", :expires=>nil, :secure=>true},
{:name=>"sesame", :value=>"", :path=>"/", :domain=>".example.co.jp", :expires=>#<DateTime: 2017-01-30T13:58:40+00:00 ((2457784j,50320s,999999973n),+0s,2299161j)>, :secure=>true},
{:name=>"ginger", :value=>"", :path=>"/", :domain=>".example.co.jp", :expires=>nil, :secure=>true}])
get "mainmenu.example.co.jp/aaaaa.html"
screenshot
```
###備考
環境
Ruby
Selenium
PhantomJS
クライアント
アクセス先はIDとPWを入力する部分が2つあります。
  • selenium

    1770 questions

    Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る