Python selenium rc create_cookie

I can't figure out how to set a cookie with square brackets [] using python for Selenium. This is what I am trying:

selenium.create_cookie("test[country]=nl", "path=/, max_age=6000") 

Results in:

 Traceback (most recent call last): File "test.py", line 55, in test sel.create_cookie('test[country]=nl', "path=/, max_age=6000") File "C:\Python27\lib\site-packages\selenium\selenium.py", line 1813, in create_cookie self.do_command("createCookie", [nameValuePair,optionsString,]) File "C:\Python27\lib\site-packages\selenium\selenium.py", line 225, in do_command raise Exception(data) Exception: ERROR: Invalid parameter. 

How can i fix this?

EDIT: This is part of the code. It is based on the code exported by the IDE.

 from selenium.selenium import selenium import unittest, time, re from selenium import webdriver class country(unittest.TestCase): def setUp(self): self.verificationErrors = [] self.selenium = selenium("localhost", 4444, "*chrome", "http://example.com/") self.selenium.start() def test_country_cookie_redirect(self): sel = self.selenium sel.create_cookie('test[country]=nl', "path=/, max_age=6000") sel.open("http://example.com") self.assertEqual("http://example.com/nl/nld", sel.get_location()) def tearDown(self): self.selenium.stop() self.assertEqual([], self.verificationErrors) if __name__ == "__main__": unittest.main() 
+1
python selenium selenium-webdriver
Sep 29 '13 at 19:22
source share
1 answer

Use add_cookie () . For example:

 from selenium import webdriver browser = webdriver.Firefox() browser.get("http://stackoverflow.com") browser.add_cookie({"name": "test[country]", "value": "nl", "path": "/", "max_age": 6000}) browser.close() 

UPD (modified test case using webdriver):

 import unittest from selenium import webdriver class country(unittest.TestCase): def setUp(self): self.verificationErrors = [] self.driver = webdriver.Remote("http://127.0.0.1:4444/wd/hub", {'browserName': 'chrome'}) def test_country_cookie_redirect(self): self.driver.add_cookie({"name": "test[country]", "value": "nl", "path": "/", "max_age": 6000}) self.driver.get("http://example.com") self.assertEqual("http://example.com", self.driver.current_url) def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors) if __name__ == "__main__": unittest.main() 
0
Sep 29 '13 at 19:38
source share



All Articles