クッキーの使用
Cookieは、Webサイトから送信され、コンピューターに保存される小さなデータです。 Cookieは、主にユーザーを認識し、保存されている情報を読み込むために使用されます。
WebDriver APIは、組み込みメソッドでCookieと対話するメソッドを提供します。
クッキーの追加
現在のブラウジングコンテキストにCookieを追加するために使用されます。 Cookieの追加では、一連の定義済みのシリアル化可能なJSONオブジェクトのみを受け入れます。 受け入れられたJSONキー値のリストへのリンクはこちらにあります。
まず、Cookieが有効になるドメインにいる必要があります。 サイトとの対話を開始する前にCookieを事前設定しようとしていて、ホームページが大きい場合/代替の読み込みに時間がかかる場合は、サイトで小さいページを見つけることです。(通常、たとえば http://example.com/some404page のような、404ページは小さいです。)
@Test public void addCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html");/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. package dev.selenium.interactions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Assertions; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import java.util.Set; public class CookiesTest { WebDriver driver = new ChromeDriver(); @Test public void addCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("key", "value")); driver.quit(); } @Test public void getNamedCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.manage().getCookieNamed("foo"); Assertions.assertEquals(cookie.getValue(), "bar"); driver.quit(); } @Test public void getAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Get cookies Set<Cookie> cookies = driver.manage().getCookies(); for (Cookie cookie : cookies) { if (cookie.getName().equals("test1")) { Assertions.assertEquals(cookie.getValue(), "cookie1"); } if (cookie.getName().equals("test2")) { Assertions.assertEquals(cookie.getValue(), "cookie2"); } } driver.quit(); } @Test public void deleteCookieNamed() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); driver.manage().addCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.manage().deleteCookieNamed("test1"); driver.quit(); } @Test public void deleteCookieObject() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); Cookie cookie = new Cookie("test2", "cookie2"); driver.manage().addCookie(cookie); /* Selenium Java bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.manage().deleteCookie(cookie); driver.quit(); } @Test public void deleteAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.manage().deleteAllCookies(); driver.quit(); } @Test public void sameSiteCookie() { driver.get("http://www.example.com"); Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build(); Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build(); driver.manage().addCookie(cookie); driver.manage().addCookie(cookie1); System.out.println(cookie.getSameSite()); System.out.println(cookie1.getSameSite()); driver.quit(); } } driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "key", "value": "value"})/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver def test_add_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "key", "value": "value"}) def test_get_named_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "foo", "value": "bar"}) # Get cookie details with named cookie 'foo' print(driver.get_cookie("foo")) def test_get_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Get all available cookies print(driver.get_cookies()) def test_delete_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete cookie with name 'test1' driver.delete_cookie("test1") def test_delete_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete all cookies driver.delete_all_cookies() def test_same_side_cookie_attr(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax' driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"}) driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"}) cookie1 = driver.get_cookie("foo") cookie2 = driver.get_cookie("foo1") print(cookie1) print(cookie2) driver.Url="https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("key", "value"));/examples/dotnet/SeleniumDocs/Interactions/CookiesTest.cs
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace SeleniumDocs.Interactions{ [TestClass] public class CookiesTest{ WebDriver driver = new ChromeDriver(); [TestMethod] public void addCookie(){ driver.Url="https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("key", "value")); driver.Quit(); } [TestMethod] public void getNamedCookie(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo"); Assert.AreEqual(cookie.Value, "bar"); driver.Quit(); } [TestMethod] public void getAllCookies(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Get cookies var cookies = driver.Manage().Cookies.AllCookies; foreach (var cookie in cookies){ if (cookie.Name.Equals("test1")){ Assert.AreEqual("cookie1", cookie.Value); } if (cookie.Name.Equals("test2")){ Assert.AreEqual("cookie2", cookie.Value); } } driver.Quit(); } [TestMethod] public void deleteCookieNamed(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.Manage().Cookies.DeleteCookieNamed("test1"); driver.Quit(); } [TestMethod] public void deleteCookieObject(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; Cookie cookie = new Cookie("test2", "cookie2"); driver.Manage().Cookies.AddCookie(cookie); /* Selenium CSharp bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.Manage().Cookies.DeleteCookie(cookie); driver.Quit(); } [TestMethod] public void deleteAllCookies(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.Manage().Cookies.DeleteAllCookies(); driver.Quit(); } } } driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'key', value: 'value')/examples/ruby/spec/interactions/cookies_spec.rb
# frozen_string_literal: true require 'spec_helper' RSpec.describe 'Cookies' do let(:driver) { start_session } it 'adds a cookie' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'key', value: 'value') # Verify cookie was added expect(driver.manage.cookie_named('key')[:value]).to eq('value') end it 'gets a named cookie' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'foo', value: 'bar') # Get cookie details with named cookie 'foo' cookie = driver.manage.cookie_named('foo') expect(cookie[:value]).to eq('bar') end it 'gets all cookies' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Get cookies cookies = driver.manage.all_cookies # Verify both cookies exist with correct values test1_cookie = cookies.find { |c| c[:name] == 'test1' } test2_cookie = cookies.find { |c| c[:name] == 'test2' } expect(test1_cookie[:value]).to eq('cookie1') expect(test2_cookie[:value]).to eq('cookie2') end it 'deletes a cookie by name' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' driver.manage.add_cookie(name: 'test1', value: 'cookie1') # Delete cookie named driver.manage.delete_cookie('test1') # Verify cookie is deleted expect { driver.manage.cookie_named('test1') }.to raise_error(Selenium::WebDriver::Error::NoSuchCookieError) end it 'deletes all cookies' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Delete All cookies driver.manage.delete_all_cookies # Verify all cookies are deleted expect(driver.manage.all_cookies.size).to eq(0) end end await driver.get('https://www.selenium.dev/selenium/web/blank.html');/examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver"); const assert = require('assert') describe('Cookies', function() { let driver; before(async function() { driver = new Builder() .forBrowser(Browser.CHROME) .build(); }); after(async () => await driver.quit()); it('Create a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'key', value: 'value' }); }); it('Create cookies with sameSite', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax' await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' }); await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' }); }); it('Read cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'foo', value: 'bar' }); // Get cookie details with named cookie 'foo' await driver.manage().getCookie('foo').then(function(cookie) { assert.equal(cookie.value, 'bar'); }); }); it('Read all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2); }); }); it('Delete a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete a cookie with name 'test1' await driver.manage().deleteCookie('test1'); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1); }); }); it('Delete all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete all cookies await driver.manage().deleteAllCookies(); }); }); import org.openqa.selenium.Cookie import org.openqa.selenium.chrome.ChromeDriver fun main() { val driver = ChromeDriver() try { driver.get("https://example.com") // Adds the cookie into current browser context driver.manage().addCookie(Cookie("key", "value")) } finally { driver.quit() } } 命名されたクッキーの取得
関連付けられているすべてのCookieの中で、Cookie名と一致するシリアル化されたCookieデータを返します。
public void getNamedCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("foo", "bar"));/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. package dev.selenium.interactions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Assertions; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import java.util.Set; public class CookiesTest { WebDriver driver = new ChromeDriver(); @Test public void addCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("key", "value")); driver.quit(); } @Test public void getNamedCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.manage().getCookieNamed("foo"); Assertions.assertEquals(cookie.getValue(), "bar"); driver.quit(); } @Test public void getAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Get cookies Set<Cookie> cookies = driver.manage().getCookies(); for (Cookie cookie : cookies) { if (cookie.getName().equals("test1")) { Assertions.assertEquals(cookie.getValue(), "cookie1"); } if (cookie.getName().equals("test2")) { Assertions.assertEquals(cookie.getValue(), "cookie2"); } } driver.quit(); } @Test public void deleteCookieNamed() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); driver.manage().addCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.manage().deleteCookieNamed("test1"); driver.quit(); } @Test public void deleteCookieObject() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); Cookie cookie = new Cookie("test2", "cookie2"); driver.manage().addCookie(cookie); /* Selenium Java bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.manage().deleteCookie(cookie); driver.quit(); } @Test public void deleteAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.manage().deleteAllCookies(); driver.quit(); } @Test public void sameSiteCookie() { driver.get("http://www.example.com"); Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build(); Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build(); driver.manage().addCookie(cookie); driver.manage().addCookie(cookie1); System.out.println(cookie.getSameSite()); System.out.println(cookie1.getSameSite()); driver.quit(); } } driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "foo", "value": "bar"}) # Get cookie details with named cookie 'foo' print(driver.get_cookie("foo"))/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver def test_add_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "key", "value": "value"}) def test_get_named_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "foo", "value": "bar"}) # Get cookie details with named cookie 'foo' print(driver.get_cookie("foo")) def test_get_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Get all available cookies print(driver.get_cookies()) def test_delete_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete cookie with name 'test1' driver.delete_cookie("test1") def test_delete_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete all cookies driver.delete_all_cookies() def test_same_side_cookie_attr(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax' driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"}) driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"}) cookie1 = driver.get_cookie("foo") cookie2 = driver.get_cookie("foo1") print(cookie1) print(cookie2) driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo");/examples/dotnet/SeleniumDocs/Interactions/CookiesTest.cs
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace SeleniumDocs.Interactions{ [TestClass] public class CookiesTest{ WebDriver driver = new ChromeDriver(); [TestMethod] public void addCookie(){ driver.Url="https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("key", "value")); driver.Quit(); } [TestMethod] public void getNamedCookie(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo"); Assert.AreEqual(cookie.Value, "bar"); driver.Quit(); } [TestMethod] public void getAllCookies(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Get cookies var cookies = driver.Manage().Cookies.AllCookies; foreach (var cookie in cookies){ if (cookie.Name.Equals("test1")){ Assert.AreEqual("cookie1", cookie.Value); } if (cookie.Name.Equals("test2")){ Assert.AreEqual("cookie2", cookie.Value); } } driver.Quit(); } [TestMethod] public void deleteCookieNamed(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.Manage().Cookies.DeleteCookieNamed("test1"); driver.Quit(); } [TestMethod] public void deleteCookieObject(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; Cookie cookie = new Cookie("test2", "cookie2"); driver.Manage().Cookies.AddCookie(cookie); /* Selenium CSharp bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.Manage().Cookies.DeleteCookie(cookie); driver.Quit(); } [TestMethod] public void deleteAllCookies(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.Manage().Cookies.DeleteAllCookies(); driver.Quit(); } } } driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'foo', value: 'bar') # Get cookie details with named cookie 'foo' cookie = driver.manage.cookie_named('foo')/examples/ruby/spec/interactions/cookies_spec.rb
# frozen_string_literal: true require 'spec_helper' RSpec.describe 'Cookies' do let(:driver) { start_session } it 'adds a cookie' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'key', value: 'value') # Verify cookie was added expect(driver.manage.cookie_named('key')[:value]).to eq('value') end it 'gets a named cookie' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'foo', value: 'bar') # Get cookie details with named cookie 'foo' cookie = driver.manage.cookie_named('foo') expect(cookie[:value]).to eq('bar') end it 'gets all cookies' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Get cookies cookies = driver.manage.all_cookies # Verify both cookies exist with correct values test1_cookie = cookies.find { |c| c[:name] == 'test1' } test2_cookie = cookies.find { |c| c[:name] == 'test2' } expect(test1_cookie[:value]).to eq('cookie1') expect(test2_cookie[:value]).to eq('cookie2') end it 'deletes a cookie by name' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' driver.manage.add_cookie(name: 'test1', value: 'cookie1') # Delete cookie named driver.manage.delete_cookie('test1') # Verify cookie is deleted expect { driver.manage.cookie_named('test1') }.to raise_error(Selenium::WebDriver::Error::NoSuchCookieError) end it 'deletes all cookies' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Delete All cookies driver.manage.delete_all_cookies # Verify all cookies are deleted expect(driver.manage.all_cookies.size).to eq(0) end end // set a cookie on the current domain await driver.manage().addCookie({ name: 'foo', value: 'bar' }); // Get cookie details with named cookie 'foo' /examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver"); const assert = require('assert') describe('Cookies', function() { let driver; before(async function() { driver = new Builder() .forBrowser(Browser.CHROME) .build(); }); after(async () => await driver.quit()); it('Create a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'key', value: 'value' }); }); it('Create cookies with sameSite', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax' await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' }); await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' }); }); it('Read cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'foo', value: 'bar' }); // Get cookie details with named cookie 'foo' await driver.manage().getCookie('foo').then(function(cookie) { assert.equal(cookie.value, 'bar'); }); }); it('Read all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2); }); }); it('Delete a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete a cookie with name 'test1' await driver.manage().deleteCookie('test1'); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1); }); }); it('Delete all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete all cookies await driver.manage().deleteAllCookies(); }); }); import org.openqa.selenium.Cookie import org.openqa.selenium.chrome.ChromeDriver fun main() { val driver = ChromeDriver() try { driver.get("https://example.com") driver.manage().addCookie(Cookie("foo", "bar")) // Get cookie details with named cookie 'foo' val cookie = driver.manage().getCookieNamed("foo") println(cookie) } finally { driver.quit() } } 全てのクッキーの取得
現在のブラウジングコンテキストの ‘成功したシリアル化されたCookieデータ’ を返します。 ブラウザが使用できなくなった場合、エラーが返されます。
public void getAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Get cookies Set<Cookie> cookies = driver.manage().getCookies(); for (Cookie cookie : cookies) { if (cookie.getName().equals("test1")) { Assertions.assertEquals(cookie.getValue(), "cookie1"); } if (cookie.getName().equals("test2")) { Assertions.assertEquals(cookie.getValue(), "cookie2");/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. package dev.selenium.interactions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Assertions; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import java.util.Set; public class CookiesTest { WebDriver driver = new ChromeDriver(); @Test public void addCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("key", "value")); driver.quit(); } @Test public void getNamedCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.manage().getCookieNamed("foo"); Assertions.assertEquals(cookie.getValue(), "bar"); driver.quit(); } @Test public void getAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Get cookies Set<Cookie> cookies = driver.manage().getCookies(); for (Cookie cookie : cookies) { if (cookie.getName().equals("test1")) { Assertions.assertEquals(cookie.getValue(), "cookie1"); } if (cookie.getName().equals("test2")) { Assertions.assertEquals(cookie.getValue(), "cookie2"); } } driver.quit(); } @Test public void deleteCookieNamed() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); driver.manage().addCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.manage().deleteCookieNamed("test1"); driver.quit(); } @Test public void deleteCookieObject() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); Cookie cookie = new Cookie("test2", "cookie2"); driver.manage().addCookie(cookie); /* Selenium Java bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.manage().deleteCookie(cookie); driver.quit(); } @Test public void deleteAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.manage().deleteAllCookies(); driver.quit(); } @Test public void sameSiteCookie() { driver.get("http://www.example.com"); Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build(); Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build(); driver.manage().addCookie(cookie); driver.manage().addCookie(cookie1); System.out.println(cookie.getSameSite()); System.out.println(cookie1.getSameSite()); driver.quit(); } } driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Get all available cookies print(driver.get_cookies())/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver def test_add_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "key", "value": "value"}) def test_get_named_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "foo", "value": "bar"}) # Get cookie details with named cookie 'foo' print(driver.get_cookie("foo")) def test_get_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Get all available cookies print(driver.get_cookies()) def test_delete_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete cookie with name 'test1' driver.delete_cookie("test1") def test_delete_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete all cookies driver.delete_all_cookies() def test_same_side_cookie_attr(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax' driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"}) driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"}) cookie1 = driver.get_cookie("foo") cookie2 = driver.get_cookie("foo1") print(cookie1) print(cookie2) driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Get cookies var cookies = driver.Manage().Cookies.AllCookies; foreach (var cookie in cookies){ if (cookie.Name.Equals("test1")){ Assert.AreEqual("cookie1", cookie.Value); } if (cookie.Name.Equals("test2")){ Assert.AreEqual("cookie2", cookie.Value); } }/examples/dotnet/SeleniumDocs/Interactions/CookiesTest.cs
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace SeleniumDocs.Interactions{ [TestClass] public class CookiesTest{ WebDriver driver = new ChromeDriver(); [TestMethod] public void addCookie(){ driver.Url="https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("key", "value")); driver.Quit(); } [TestMethod] public void getNamedCookie(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo"); Assert.AreEqual(cookie.Value, "bar"); driver.Quit(); } [TestMethod] public void getAllCookies(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Get cookies var cookies = driver.Manage().Cookies.AllCookies; foreach (var cookie in cookies){ if (cookie.Name.Equals("test1")){ Assert.AreEqual("cookie1", cookie.Value); } if (cookie.Name.Equals("test2")){ Assert.AreEqual("cookie2", cookie.Value); } } driver.Quit(); } [TestMethod] public void deleteCookieNamed(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.Manage().Cookies.DeleteCookieNamed("test1"); driver.Quit(); } [TestMethod] public void deleteCookieObject(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; Cookie cookie = new Cookie("test2", "cookie2"); driver.Manage().Cookies.AddCookie(cookie); /* Selenium CSharp bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.Manage().Cookies.DeleteCookie(cookie); driver.Quit(); } [TestMethod] public void deleteAllCookies(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.Manage().Cookies.DeleteAllCookies(); driver.Quit(); } } } driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Get cookies cookies = driver.manage.all_cookies/examples/ruby/spec/interactions/cookies_spec.rb
# frozen_string_literal: true require 'spec_helper' RSpec.describe 'Cookies' do let(:driver) { start_session } it 'adds a cookie' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'key', value: 'value') # Verify cookie was added expect(driver.manage.cookie_named('key')[:value]).to eq('value') end it 'gets a named cookie' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'foo', value: 'bar') # Get cookie details with named cookie 'foo' cookie = driver.manage.cookie_named('foo') expect(cookie[:value]).to eq('bar') end it 'gets all cookies' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Get cookies cookies = driver.manage.all_cookies # Verify both cookies exist with correct values test1_cookie = cookies.find { |c| c[:name] == 'test1' } test2_cookie = cookies.find { |c| c[:name] == 'test2' } expect(test1_cookie[:value]).to eq('cookie1') expect(test2_cookie[:value]).to eq('cookie2') end it 'deletes a cookie by name' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' driver.manage.add_cookie(name: 'test1', value: 'cookie1') # Delete cookie named driver.manage.delete_cookie('test1') # Verify cookie is deleted expect { driver.manage.cookie_named('test1') }.to raise_error(Selenium::WebDriver::Error::NoSuchCookieError) end it 'deletes all cookies' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Delete All cookies driver.manage.delete_all_cookies # Verify all cookies are deleted expect(driver.manage.all_cookies.size).to eq(0) end end await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Get all Available cookies /examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver"); const assert = require('assert') describe('Cookies', function() { let driver; before(async function() { driver = new Builder() .forBrowser(Browser.CHROME) .build(); }); after(async () => await driver.quit()); it('Create a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'key', value: 'value' }); }); it('Create cookies with sameSite', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax' await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' }); await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' }); }); it('Read cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'foo', value: 'bar' }); // Get cookie details with named cookie 'foo' await driver.manage().getCookie('foo').then(function(cookie) { assert.equal(cookie.value, 'bar'); }); }); it('Read all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2); }); }); it('Delete a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete a cookie with name 'test1' await driver.manage().deleteCookie('test1'); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1); }); }); it('Delete all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete all cookies await driver.manage().deleteAllCookies(); }); }); import org.openqa.selenium.Cookie import org.openqa.selenium.chrome.ChromeDriver fun main() { val driver = ChromeDriver() try { driver.get("https://example.com") driver.manage().addCookie(Cookie("test1", "cookie1")) driver.manage().addCookie(Cookie("test2", "cookie2")) // Get All available cookies val cookies = driver.manage().cookies println(cookies) } finally { driver.quit() } } クッキーの削除
指定されたCookie名と一致するCookieデータを削除します。
public void deleteCookieNamed() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); driver.manage().addCookie(new Cookie("test1", "cookie1"));/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. package dev.selenium.interactions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Assertions; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import java.util.Set; public class CookiesTest { WebDriver driver = new ChromeDriver(); @Test public void addCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("key", "value")); driver.quit(); } @Test public void getNamedCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.manage().getCookieNamed("foo"); Assertions.assertEquals(cookie.getValue(), "bar"); driver.quit(); } @Test public void getAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Get cookies Set<Cookie> cookies = driver.manage().getCookies(); for (Cookie cookie : cookies) { if (cookie.getName().equals("test1")) { Assertions.assertEquals(cookie.getValue(), "cookie1"); } if (cookie.getName().equals("test2")) { Assertions.assertEquals(cookie.getValue(), "cookie2"); } } driver.quit(); } @Test public void deleteCookieNamed() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); driver.manage().addCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.manage().deleteCookieNamed("test1"); driver.quit(); } @Test public void deleteCookieObject() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); Cookie cookie = new Cookie("test2", "cookie2"); driver.manage().addCookie(cookie); /* Selenium Java bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.manage().deleteCookie(cookie); driver.quit(); } @Test public void deleteAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.manage().deleteAllCookies(); driver.quit(); } @Test public void sameSiteCookie() { driver.get("http://www.example.com"); Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build(); Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build(); driver.manage().addCookie(cookie); driver.manage().addCookie(cookie1); System.out.println(cookie.getSameSite()); System.out.println(cookie1.getSameSite()); driver.quit(); } } driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete cookie with name 'test1' driver.delete_cookie("test1")/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver def test_add_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "key", "value": "value"}) def test_get_named_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "foo", "value": "bar"}) # Get cookie details with named cookie 'foo' print(driver.get_cookie("foo")) def test_get_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Get all available cookies print(driver.get_cookies()) def test_delete_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete cookie with name 'test1' driver.delete_cookie("test1") def test_delete_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete all cookies driver.delete_all_cookies() def test_same_side_cookie_attr(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax' driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"}) driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"}) cookie1 = driver.get_cookie("foo") cookie2 = driver.get_cookie("foo1") print(cookie1) print(cookie2) driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.Manage().Cookies.DeleteCookieNamed("test1");/examples/dotnet/SeleniumDocs/Interactions/CookiesTest.cs
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace SeleniumDocs.Interactions{ [TestClass] public class CookiesTest{ WebDriver driver = new ChromeDriver(); [TestMethod] public void addCookie(){ driver.Url="https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("key", "value")); driver.Quit(); } [TestMethod] public void getNamedCookie(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo"); Assert.AreEqual(cookie.Value, "bar"); driver.Quit(); } [TestMethod] public void getAllCookies(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Get cookies var cookies = driver.Manage().Cookies.AllCookies; foreach (var cookie in cookies){ if (cookie.Name.Equals("test1")){ Assert.AreEqual("cookie1", cookie.Value); } if (cookie.Name.Equals("test2")){ Assert.AreEqual("cookie2", cookie.Value); } } driver.Quit(); } [TestMethod] public void deleteCookieNamed(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.Manage().Cookies.DeleteCookieNamed("test1"); driver.Quit(); } [TestMethod] public void deleteCookieObject(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; Cookie cookie = new Cookie("test2", "cookie2"); driver.Manage().Cookies.AddCookie(cookie); /* Selenium CSharp bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.Manage().Cookies.DeleteCookie(cookie); driver.Quit(); } [TestMethod] public void deleteAllCookies(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.Manage().Cookies.DeleteAllCookies(); driver.Quit(); } } } driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' driver.manage.add_cookie(name: 'test1', value: 'cookie1') # Delete cookie named driver.manage.delete_cookie('test1')/examples/ruby/spec/interactions/cookies_spec.rb
# frozen_string_literal: true require 'spec_helper' RSpec.describe 'Cookies' do let(:driver) { start_session } it 'adds a cookie' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'key', value: 'value') # Verify cookie was added expect(driver.manage.cookie_named('key')[:value]).to eq('value') end it 'gets a named cookie' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'foo', value: 'bar') # Get cookie details with named cookie 'foo' cookie = driver.manage.cookie_named('foo') expect(cookie[:value]).to eq('bar') end it 'gets all cookies' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Get cookies cookies = driver.manage.all_cookies # Verify both cookies exist with correct values test1_cookie = cookies.find { |c| c[:name] == 'test1' } test2_cookie = cookies.find { |c| c[:name] == 'test2' } expect(test1_cookie[:value]).to eq('cookie1') expect(test2_cookie[:value]).to eq('cookie2') end it 'deletes a cookie by name' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' driver.manage.add_cookie(name: 'test1', value: 'cookie1') # Delete cookie named driver.manage.delete_cookie('test1') # Verify cookie is deleted expect { driver.manage.cookie_named('test1') }.to raise_error(Selenium::WebDriver::Error::NoSuchCookieError) end it 'deletes all cookies' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Delete All cookies driver.manage.delete_all_cookies # Verify all cookies are deleted expect(driver.manage.all_cookies.size).to eq(0) end end await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });/examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver"); const assert = require('assert') describe('Cookies', function() { let driver; before(async function() { driver = new Builder() .forBrowser(Browser.CHROME) .build(); }); after(async () => await driver.quit()); it('Create a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'key', value: 'value' }); }); it('Create cookies with sameSite', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax' await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' }); await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' }); }); it('Read cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'foo', value: 'bar' }); // Get cookie details with named cookie 'foo' await driver.manage().getCookie('foo').then(function(cookie) { assert.equal(cookie.value, 'bar'); }); }); it('Read all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2); }); }); it('Delete a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete a cookie with name 'test1' await driver.manage().deleteCookie('test1'); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1); }); }); it('Delete all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete all cookies await driver.manage().deleteAllCookies(); }); }); import org.openqa.selenium.Cookie import org.openqa.selenium.chrome.ChromeDriver fun main() { val driver = ChromeDriver() try { driver.get("https://example.com") driver.manage().addCookie(Cookie("test1", "cookie1")) val cookie1 = Cookie("test2", "cookie2") driver.manage().addCookie(cookie1) // delete a cookie with name 'test1' driver.manage().deleteCookieNamed("test1") // delete cookie by passing cookie object of current browsing context. driver.manage().deleteCookie(cookie1) } finally { driver.quit() } } 全てのクッキーの削除
現在のブラウジングコンテキストの全てのCookieを削除します。
public void deleteAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2"));/examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. package dev.selenium.interactions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Assertions; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import java.util.Set; public class CookiesTest { WebDriver driver = new ChromeDriver(); @Test public void addCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("key", "value")); driver.quit(); } @Test public void getNamedCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.manage().getCookieNamed("foo"); Assertions.assertEquals(cookie.getValue(), "bar"); driver.quit(); } @Test public void getAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Get cookies Set<Cookie> cookies = driver.manage().getCookies(); for (Cookie cookie : cookies) { if (cookie.getName().equals("test1")) { Assertions.assertEquals(cookie.getValue(), "cookie1"); } if (cookie.getName().equals("test2")) { Assertions.assertEquals(cookie.getValue(), "cookie2"); } } driver.quit(); } @Test public void deleteCookieNamed() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); driver.manage().addCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.manage().deleteCookieNamed("test1"); driver.quit(); } @Test public void deleteCookieObject() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); Cookie cookie = new Cookie("test2", "cookie2"); driver.manage().addCookie(cookie); /* Selenium Java bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.manage().deleteCookie(cookie); driver.quit(); } @Test public void deleteAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.manage().deleteAllCookies(); driver.quit(); } @Test public void sameSiteCookie() { driver.get("http://www.example.com"); Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build(); Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build(); driver.manage().addCookie(cookie); driver.manage().addCookie(cookie1); System.out.println(cookie.getSameSite()); System.out.println(cookie1.getSameSite()); driver.quit(); } } driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete all cookies driver.delete_all_cookies()/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver def test_add_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "key", "value": "value"}) def test_get_named_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "foo", "value": "bar"}) # Get cookie details with named cookie 'foo' print(driver.get_cookie("foo")) def test_get_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Get all available cookies print(driver.get_cookies()) def test_delete_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete cookie with name 'test1' driver.delete_cookie("test1") def test_delete_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete all cookies driver.delete_all_cookies() def test_same_side_cookie_attr(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax' driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"}) driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"}) cookie1 = driver.get_cookie("foo") cookie2 = driver.get_cookie("foo1") print(cookie1) print(cookie2) driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.Manage().Cookies.DeleteAllCookies();/examples/dotnet/SeleniumDocs/Interactions/CookiesTest.cs
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace SeleniumDocs.Interactions{ [TestClass] public class CookiesTest{ WebDriver driver = new ChromeDriver(); [TestMethod] public void addCookie(){ driver.Url="https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("key", "value")); driver.Quit(); } [TestMethod] public void getNamedCookie(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookie into current browser context driver.Manage().Cookies.AddCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.Manage().Cookies.GetCookieNamed("foo"); Assert.AreEqual(cookie.Value, "bar"); driver.Quit(); } [TestMethod] public void getAllCookies(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Get cookies var cookies = driver.Manage().Cookies.AllCookies; foreach (var cookie in cookies){ if (cookie.Name.Equals("test1")){ Assert.AreEqual("cookie1", cookie.Value); } if (cookie.Name.Equals("test2")){ Assert.AreEqual("cookie2", cookie.Value); } } driver.Quit(); } [TestMethod] public void deleteCookieNamed(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.Manage().Cookies.DeleteCookieNamed("test1"); driver.Quit(); } [TestMethod] public void deleteCookieObject(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; Cookie cookie = new Cookie("test2", "cookie2"); driver.Manage().Cookies.AddCookie(cookie); /* Selenium CSharp bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.Manage().Cookies.DeleteCookie(cookie); driver.Quit(); } [TestMethod] public void deleteAllCookies(){ driver.Url = "https://www.selenium.dev/selenium/web/blank.html"; // Add cookies into current browser context driver.Manage().Cookies.AddCookie(new Cookie("test1", "cookie1")); driver.Manage().Cookies.AddCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.Manage().Cookies.DeleteAllCookies(); driver.Quit(); } } } driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Delete All cookies driver.manage.delete_all_cookies/examples/ruby/spec/interactions/cookies_spec.rb
# frozen_string_literal: true require 'spec_helper' RSpec.describe 'Cookies' do let(:driver) { start_session } it 'adds a cookie' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'key', value: 'value') # Verify cookie was added expect(driver.manage.cookie_named('key')[:value]).to eq('value') end it 'gets a named cookie' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookie into current browser context driver.manage.add_cookie(name: 'foo', value: 'bar') # Get cookie details with named cookie 'foo' cookie = driver.manage.cookie_named('foo') expect(cookie[:value]).to eq('bar') end it 'gets all cookies' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Get cookies cookies = driver.manage.all_cookies # Verify both cookies exist with correct values test1_cookie = cookies.find { |c| c[:name] == 'test1' } test2_cookie = cookies.find { |c| c[:name] == 'test2' } expect(test1_cookie[:value]).to eq('cookie1') expect(test2_cookie[:value]).to eq('cookie2') end it 'deletes a cookie by name' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' driver.manage.add_cookie(name: 'test1', value: 'cookie1') # Delete cookie named driver.manage.delete_cookie('test1') # Verify cookie is deleted expect { driver.manage.cookie_named('test1') }.to raise_error(Selenium::WebDriver::Error::NoSuchCookieError) end it 'deletes all cookies' do driver.navigate.to 'https://www.selenium.dev/selenium/web/blank.html' # Add cookies into current browser context driver.manage.add_cookie(name: 'test1', value: 'cookie1') driver.manage.add_cookie(name: 'test2', value: 'cookie2') # Delete All cookies driver.manage.delete_all_cookies # Verify all cookies are deleted expect(driver.manage.all_cookies.size).to eq(0) end end await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' });/examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver"); const assert = require('assert') describe('Cookies', function() { let driver; before(async function() { driver = new Builder() .forBrowser(Browser.CHROME) .build(); }); after(async () => await driver.quit()); it('Create a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'key', value: 'value' }); }); it('Create cookies with sameSite', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax' await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' }); await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' }); }); it('Read cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'foo', value: 'bar' }); // Get cookie details with named cookie 'foo' await driver.manage().getCookie('foo').then(function(cookie) { assert.equal(cookie.value, 'bar'); }); }); it('Read all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2); }); }); it('Delete a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete a cookie with name 'test1' await driver.manage().deleteCookie('test1'); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1); }); }); it('Delete all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete all cookies await driver.manage().deleteAllCookies(); }); }); import org.openqa.selenium.Cookie import org.openqa.selenium.chrome.ChromeDriver fun main() { val driver = ChromeDriver() try { driver.get("https://example.com") driver.manage().addCookie(Cookie("test1", "cookie1")) driver.manage().addCookie(Cookie("test2", "cookie2")) // deletes all cookies driver.manage().deleteAllCookies() } finally { driver.quit() } } SameSite Cookie属性
これにより、ユーザーは、サードパーティのサイトによって開始されたリクエストとともに Cookieを送信するかどうかをブラウザに指示できます。 CSRF(クロスサイトリクエストフォージェリ)攻撃を防ぐために導入されました。
SameSite Cookie属性は、2つのパラメーターを命令として受け入れます。
Strict:
SameSite属性が Strict に設定されている場合、CookieはサードパーティのWebサイトによって 開始されたリクエストとともに送信されません。
Lax:
CookieのSameSite属性を Lax に設定すると、CookieはサードパーティのWebサイトによって 開始されたGETリクエストとともに送信されます。
Note: As of now this feature is landed in chrome(80+version), Firefox(79+version) and works with Selenium 4 and later versions.
@Test public void sameSiteCookie() { driver.get("http://www.example.com"); Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build(); Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build(); driver.manage().addCookie(cookie); driver.manage().addCookie(cookie1); /examples/java/src/test/java/dev/selenium/interactions/CookiesTest.java
// Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. package dev.selenium.interactions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Assertions; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import java.util.Set; public class CookiesTest { WebDriver driver = new ChromeDriver(); @Test public void addCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("key", "value")); driver.quit(); } @Test public void getNamedCookie() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookie into current browser context driver.manage().addCookie(new Cookie("foo", "bar")); // Get cookie details with named cookie 'foo' Cookie cookie = driver.manage().getCookieNamed("foo"); Assertions.assertEquals(cookie.getValue(), "bar"); driver.quit(); } @Test public void getAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Get cookies Set<Cookie> cookies = driver.manage().getCookies(); for (Cookie cookie : cookies) { if (cookie.getName().equals("test1")) { Assertions.assertEquals(cookie.getValue(), "cookie1"); } if (cookie.getName().equals("test2")) { Assertions.assertEquals(cookie.getValue(), "cookie2"); } } driver.quit(); } @Test public void deleteCookieNamed() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); driver.manage().addCookie(new Cookie("test1", "cookie1")); // delete cookie named driver.manage().deleteCookieNamed("test1"); driver.quit(); } @Test public void deleteCookieObject() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); Cookie cookie = new Cookie("test2", "cookie2"); driver.manage().addCookie(cookie); /* Selenium Java bindings also provides a way to delete cookie by passing cookie object of current browsing context */ driver.manage().deleteCookie(cookie); driver.quit(); } @Test public void deleteAllCookies() { driver.get("https://www.selenium.dev/selenium/web/blank.html"); // Add cookies into current browser context driver.manage().addCookie(new Cookie("test1", "cookie1")); driver.manage().addCookie(new Cookie("test2", "cookie2")); // Delete All cookies driver.manage().deleteAllCookies(); driver.quit(); } @Test public void sameSiteCookie() { driver.get("http://www.example.com"); Cookie cookie = new Cookie.Builder("key", "value").sameSite("Strict").build(); Cookie cookie1 = new Cookie.Builder("key", "value").sameSite("Lax").build(); driver.manage().addCookie(cookie); driver.manage().addCookie(cookie1); System.out.println(cookie.getSameSite()); System.out.println(cookie1.getSameSite()); driver.quit(); } } driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax' driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"}) driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"}) cookie1 = driver.get_cookie("foo") cookie2 = driver.get_cookie("foo1") print(cookie1) print(cookie2)/examples/python/tests/interactions/test_cookies.py
from selenium import webdriver def test_add_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "key", "value": "value"}) def test_get_named_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context driver.add_cookie({"name": "foo", "value": "bar"}) # Get cookie details with named cookie 'foo' print(driver.get_cookie("foo")) def test_get_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Get all available cookies print(driver.get_cookies()) def test_delete_cookie(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete cookie with name 'test1' driver.delete_cookie("test1") def test_delete_all_cookies(): driver = webdriver.Chrome() driver.get("http://www.example.com") driver.add_cookie({"name": "test1", "value": "cookie1"}) driver.add_cookie({"name": "test2", "value": "cookie2"}) # Delete all cookies driver.delete_all_cookies() def test_same_side_cookie_attr(): driver = webdriver.Chrome() driver.get("http://www.example.com") # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax' driver.add_cookie({"name": "foo", "value": "value", "sameSite": "Strict"}) driver.add_cookie({"name": "foo1", "value": "value", "sameSite": "Lax"}) cookie1 = driver.get_cookie("foo") cookie2 = driver.get_cookie("foo1") print(cookie1) print(cookie2) using OpenQA.Selenium; using OpenQA.Selenium.Chrome; namespace SameSiteCookie { class SameSiteCookie { static void Main(string[] args) { IWebDriver driver = new ChromeDriver(); try { driver.Navigate().GoToUrl("http://www.example.com"); var cookie1Dictionary = new System.Collections.Generic.Dictionary<string, object>() { { "name", "test1" }, { "value", "cookie1" }, { "sameSite", "Strict" } }; var cookie1 = Cookie.FromDictionary(cookie1Dictionary); var cookie2Dictionary = new System.Collections.Generic.Dictionary<string, object>() { { "name", "test2" }, { "value", "cookie2" }, { "sameSite", "Lax" } }; var cookie2 = Cookie.FromDictionary(cookie2Dictionary); driver.Manage().Cookies.AddCookie(cookie1); driver.Manage().Cookies.AddCookie(cookie2); System.Console.WriteLine(cookie1.SameSite); System.Console.WriteLine(cookie2.SameSite); } finally { driver.Quit(); } } } } require 'selenium-webdriver' driver = Selenium::WebDriver.for :chrome begin driver.get 'https://www.example.com' # Adds the cookie into current browser context with sameSite 'Strict' (or) 'Lax' driver.manage.add_cookie(name: "foo", value: "bar", same_site: "Strict") driver.manage.add_cookie(name: "foo1", value: "bar", same_site: "Lax") puts driver.manage.cookie_named('foo') puts driver.manage.cookie_named('foo1') ensure driver.quit end it('Create cookies with sameSite', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); /examples/javascript/test/interactions/cookies.spec.js
const {Browser, Builder} = require("selenium-webdriver"); const assert = require('assert') describe('Cookies', function() { let driver; before(async function() { driver = new Builder() .forBrowser(Browser.CHROME) .build(); }); after(async () => await driver.quit()); it('Create a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'key', value: 'value' }); }); it('Create cookies with sameSite', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain with sameSite 'Strict' (or) 'Lax' await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Strict' }); await driver.manage().addCookie({ name: 'key', value: 'value', sameSite: 'Lax' }); }); it('Read cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // set a cookie on the current domain await driver.manage().addCookie({ name: 'foo', value: 'bar' }); // Get cookie details with named cookie 'foo' await driver.manage().getCookie('foo').then(function(cookie) { assert.equal(cookie.value, 'bar'); }); }); it('Read all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 2); }); }); it('Delete a cookie', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete a cookie with name 'test1' await driver.manage().deleteCookie('test1'); // Get all Available cookies await driver.manage().getCookies().then(function(cookies) { assert.equal(cookies.filter(cookie => cookie.name.startsWith('test')).length, 1); }); }); it('Delete all cookies', async function() { await driver.get('https://www.selenium.dev/selenium/web/blank.html'); // Add few cookies await driver.manage().addCookie({ name: 'test1', value: 'cookie1' }); await driver.manage().addCookie({ name: 'test2', value: 'cookie2' }); // Delete all cookies await driver.manage().deleteAllCookies(); }); }); import org.openqa.selenium.Cookie import org.openqa.selenium.chrome.ChromeDriver fun main() { val driver = ChromeDriver() try { driver.get("http://www.example.com") val cookie = Cookie.Builder("key", "value").sameSite("Strict").build() val cookie1 = Cookie.Builder("key", "value").sameSite("Lax").build() driver.manage().addCookie(cookie) driver.manage().addCookie(cookie1) println(cookie.getSameSite()) println(cookie1.getSameSite()) } finally { driver.quit() } } 



