Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python selenium ChromeWebDriver:无法设置cookie_Python_Selenium Webdriver_Docker Compose_Selenium Chromedriver_Python 3.6 - Fatal编程技术网

Python selenium ChromeWebDriver:无法设置cookie

Python selenium ChromeWebDriver:无法设置cookie,python,selenium-webdriver,docker-compose,selenium-chromedriver,python-3.6,Python,Selenium Webdriver,Docker Compose,Selenium Chromedriver,Python 3.6,我有一个我正在开发的web刮板,它需要使用selenium chrome来呈现javascript。当使用docker selenium/standalone chrome图像时,大部分功能运行良好,但当切换到selenium网格以启用parralel数据采集时,无法将cookie添加到浏览器中。问题中的cookie是禁用产品网站上的年龄检查,因此没有什么复杂的 版本: 3.141.59-钛 硒:3.141.59 谷歌浏览器:76.0.3809.87 色度驱动器:76.0.3809.68 Moz

我有一个我正在开发的web刮板,它需要使用selenium chrome来呈现javascript。当使用docker selenium/standalone chrome图像时,大部分功能运行良好,但当切换到selenium网格以启用parralel数据采集时,无法将cookie添加到浏览器中。问题中的cookie是禁用产品网站上的年龄检查,因此没有什么复杂的

版本:

3.141.59-钛

硒:3.141.59 谷歌浏览器:76.0.3809.87 色度驱动器:76.0.3809.68 Mozilla Firefox:68.0.1 壁虎河:0.24.0

python 3.6.9 硒3.141.0-来自pypi

我尝试过各种不同的cookies,也尝试过不同版本的selenium docker grid,但运气不好

driver = webdriver.Remote(command_executor='http://selenium-hub:4444/wd/hub',
desired_capabilities=DesiredCapabilities.CHROME)
try:
    driver.get("https://www.google.com") 
    driver.add_cookie(cookie_dict={'name':'foo','value':'bar'}))
finally:
    driver.quit()
下面是日志中显示的错误

File "testSelenium.py", line 39, in <module>
print(driver.add_cookie(cookie_dict={'name':'bob','value':'boo','path':'/'}))
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 894, in add_cookie
self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict})
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.UnableToSetCookieException: Message: unable to set cookie
(Session info: chrome=76.0.3809.87)
文件“testSelenium.py”,第39行,在
打印(driver.add_cookie(cookie_dict={'name':'bob','value':'boo','path':'/'))
文件“/usr/local/lib/python3.6/site packages/selenium/webdriver/remote/webdriver.py”,第894行,在add_cookie中
self.execute(Command.ADD_COOKIE,{'COOKIE':COOKIE_dict})
文件“/usr/local/lib/python3.6/site packages/selenium/webdriver/remote/webdriver.py”,第321行,在execute中
self.error\u handler.check\u响应(响应)
文件“/usr/local/lib/python3.6/site packages/selenium/webdriver/remote/errorhandler.py”,第242行,在check_响应中
引发异常类(消息、屏幕、堆栈跟踪)
selenium.common.exceptions.UnableToSetCookieException:消息:无法设置cookie
(会话信息:chrome=76.0.3809.87)

方法
添加cookie
没有命名参数:

添加cookie(cookie目录)

将cookie添加到当前会话中

有关更多说明,请参见api:

正确的用法是

driver.add_cookie({'name':'foo','value':'bar'}))