2017-06-08 6 views
1

こんにちはみんなを追加しようとしているが、私は以下のように、私のワチールブラウザにクッキーを追加しようとしていた「InvalidCookieDomain」エラー:セレン/ワチール:<strong><a href="https://github.com/watir/watir" rel="nofollow noreferrer">WATIR</a></strong>、またはセレンにクッキー私は新たなんだ

browser = Watir::Browser.new :firefox  
browser.goto(url) 
browser.cookies.add name,value, domain: ".www.example.com" 

私は次のようなエラーが表示午前:私はdomainオプションを削除すると、

Selenium::WebDriver::Error::UnknownError: ReferenceError: InvalidCookieDomainError is not defined

しかし、それは動作します。

なぜ私はクッキーに別のドメインを追加できないのでしょうか?

答えて

2

WATIRのように、すべてのSeleniumベースのフレームワークは、Seleniumの事前定義されたコマンドに対する言語固有のラッパーを作成します。これらのコマンドは、Selenium Webdriver W3C標準でhereと定義されています。

If the current browsing context’s document element is a cookie-averse Document object, return error with error code invalid cookie domain.

あなたdomain属性は、あなたのurl与えられたのと同じドメインにバインドされています

あなたはCookiesセクションに移動した場合、具体的には、addCookieのサブセクションでは、次のような表示されます。したがって、基本的にお客様のドメインHASは現在のurl、またはurlのサブドメインと同じにする必要があります。

例:url=global.nba.comについて、あなたは、だけでなく、ルートドメイン({domain: "nba.com"})のためのサブドメイン({domain: "global.nba.com"})の両方のためにクッキーを設定することができます。

browser = Watir::Browser.new :firefox  
browser.goto(url) 
browser.cookies.add("<yourCookieName>","<yourCookieValue>", {domain: "<sameUrlOriginDomain>"}) 

+0

お返事ありがとうございますが、ドット "を追加したい場合は"。 "前に" global.nba.com "の前に" .globla.nba.con "'となるようにしてください。原点URLの前に? –

+0

@テイラー私の知識から、それは私があなたに言った同じ起源のルールに干渉しない限り、はい。 Cookieを追加するURLは、使用しているドメインの親または直接の兄弟でなければなりません。私たちが検証できるように例を挙げられますか?あなたの質問に答えた場合は、その答えを受け入れてください。ありがとう。 – iamdanchiv

+0

@taylor私は機能性をテストしたところで、ドメイン値の前にドット( '.')を付けることができます。 – iamdanchiv

関連する問題

 関連する問題