如何在硒网格节点之间保存和共享身份验证数据?
How to keep and share auth data between selenium grid nodes?
我在 docker 中使用硒网格。我想登录到我想 在 运行 之前抓取 的网站,同时执行许多任务。一般来说,我想要登录然后保留身份验证数据并在我的所有节点之间共享。是否有可能或者有更好的方法来做到这一点?
因为当我 运行 并行执行所有任务时,我没有身份验证数据,我需要在每个
上登录
我的撰写:
services:
selenium-hub:
image: selenium/hub:3.141.59-20210311
container_name: selenium-hub
environment:
GRID_MAX_SESSION: 16
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
chrome:
image: selenium/node-chrome:3.141.59-20210311
volumes:
- /dev/shm:/dev/shm
depends_on:
- selenium-hub
environment:
HUB_HOST: selenium-hub
HUB_PORT: 4444
NODE_MAX_SESSION: 5
NODE_MAX_INSTANCES: 5
我没有找到如何重用会话,但我找到了如何自己做。
首先我登录然后保存 cookies
# login logic...
cookies = driver.get_cookies()
之后我可以将这些 cookie 设置到我的所有节点。
# Before setup your cookies go to related doamin. Without this cookies will not be setup
for cookie in cookies:
driver.add_cookie(cookie)
我在 docker 中使用硒网格。我想登录到我想 在 运行 之前抓取 的网站,同时执行许多任务。一般来说,我想要登录然后保留身份验证数据并在我的所有节点之间共享。是否有可能或者有更好的方法来做到这一点? 因为当我 运行 并行执行所有任务时,我没有身份验证数据,我需要在每个
上登录我的撰写:
services:
selenium-hub:
image: selenium/hub:3.141.59-20210311
container_name: selenium-hub
environment:
GRID_MAX_SESSION: 16
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
chrome:
image: selenium/node-chrome:3.141.59-20210311
volumes:
- /dev/shm:/dev/shm
depends_on:
- selenium-hub
environment:
HUB_HOST: selenium-hub
HUB_PORT: 4444
NODE_MAX_SESSION: 5
NODE_MAX_INSTANCES: 5
我没有找到如何重用会话,但我找到了如何自己做。 首先我登录然后保存 cookies
# login logic...
cookies = driver.get_cookies()
之后我可以将这些 cookie 设置到我的所有节点。
# Before setup your cookies go to related doamin. Without this cookies will not be setup
for cookie in cookies:
driver.add_cookie(cookie)