StackOverflowユーザーの皆さん、こんにちは。私が達成しようとしているのは、テストでメインページを開いたときに迷惑なヘルパーボックスがポップアップ表示されないようにすることです。これまでのところ、これは私がメインページを開くために使用している方法です。
def open_url(self, url):
"""Open a URL using the driver's base URL"""
self.webdriver.add_cookie({'name' : 'tour.index', 'value' : 'complete', 'domain' : self.store['base'] + url})
self.webdriver.add_cookie({'name' : 'tour.map', 'value' : 'complete', 'domain' : self.store['base'] + url})
self.webdriver.get(self.store['base'] + url)
ただし、テストを実行した後に返されるのは次のとおりです。
2014-07-23 15:38:19.453057: X Message: u'You may only set cookies for the current domain' ;
ベーステストドメインを実際にロードする前にCookieを設定するにはどうすればよいですか?
このドキュメントでは、Cookieを設定する前に、ダミーのURL(404ページや画像へのパスなど)に移動することを推奨しています。次に、Cookieを設定し、メインページに移動します。
... Cookieが有効になるドメインにいる必要があります。サイトとのやり取りを開始する前にCookieを事前設定しようとしている場合...別の方法は、サイト上の小さなページを見つけることです...( http://example.com/some404page )
したがって、コードは次のようになります。
def open_url(self, url):
"""Open a URL using the driver's base URL"""
dummy_url = '/404error'
# Or this
#dummy_url = '/path/to/an/image.jpg'
# Navigate to a dummy url on the same domain.
self.webdriver.get(self.store['base'] + dummy_url)
# Proceed as before
self.webdriver.add_cookie({'name' : 'tour.index', 'value' : 'complete', 'domain' : self.store['base'] + url})
self.webdriver.add_cookie({'name' : 'tour.map', 'value' : 'complete', 'domain' : self.store['base'] + url})
self.webdriver.get(self.store['base'] + url)