【发布时间】:2019-08-08 14:42:08
【问题描述】:
我正在开发一个网络爬虫,它需要使用 selenium-chrome 来呈现 javascript。大多数功能在使用 docker selenium/standalone chrome 图像时运行良好,但是当切换到 selenium 网格以启用并行数据收集时,cookie 无法添加到浏览器中。有问题的 cookie 是为了禁用产品网站上的年龄检查,所以没什么复杂的。
版本:
3.141.59-钛
硒:3.141.59 谷歌浏览器:76.0.3809.87 铬驱动程序:76.0.3809.68 火狐浏览器:68.0.1 GeckoDriver:0.24.0
python 3.6.9 硒 3.141.0 - 来自 pypi
我尝试了各种不同的 cookie,并尝试了不同版本的 selenium docker 网格,但没有运气。
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)
【问题讨论】:
标签: python selenium-webdriver docker-compose selenium-chromedriver python-3.6