これはphantomjsのバグで
https://github.com/ariya/phantomjs/issues/13409 に起因します。
そしてたちの悪いことにphantomjsはこのとき"
examle.com"にcookieをつけてないと判定し返り値をfalseで返すので、
ghostdriverがそれをうけて上記のように"Unable to sett Cookie"となります。
実は
manage.driver.add_cookie(name: "xxx", value, "xxx", domain: "
example.com") #=> Selenium::WebDriver::Error::UnableToSetCookieError
ってなったあと、rescue して
manage.driver.all_cookies #=> [{:name=>"XXX", :value=>"XXX", :path=>"/", :domain=>".
example.com", :expires=>nil, :secure=>false}]
と確認すると、".
example.com" のdomain属性でcookieがついているということがわかります。
また、manage.driver.add_cookie(name: "xxx", value, "xxx", domain: ".
example.com") とはじめから.を先頭につけておくと
付与に成功します。
cookieの仕様的には先頭に.があろうとなかろうと挙動は一緒になるはずなので、
ワークアラウンドとしては.を先頭につけるよう徹底するのがよいと思います。
2016年11月4日金曜日 16時45分54秒 UTC+9 佐藤裕介: