Docker 中使用Selenium Grid

发布时间 2023-11-02 16:06:50作者: 牧羊人の冬天

第一步
拉取hub镜像:

docker pull selenium/hub

拉取chrome浏览器镜像:

docker pull selenium/node-chrome

启动hub:

docker run -p 5001:4444 -d --name hub selenium/hub

docker run --name=hub -p 5001:4444 -e GRID_TIMEOUT=0 -e GRID_THROW_ON_CAPABILITY_NOT_PRESENT=true -e GRID_NEW_SESSION_WAIT_TIMEOUT=-1 -e GRID_BROWSER_TIMEOUT=15000 -e GRID_TIMEOUT=30000 -e GRID_CLEAN_UP_CYCLE=30000 -d selenium/hub

http://xxx:5001/ui#

启动node
docker run -P -d
-e SE_EVENT_BUS_HOST=hub
-e SE_EVENT_BUS_PUBLISH_PORT=5555
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443
-e SE_NODE_MAX_SESSIONS=3
-e SE_NODE_SESSION_TIMEOUT=300
--link hub:selenium-hub
--name chrome selenium/node-chrome

import time
from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
chrome_options.set_capability("platformName", "Linux")

driver = webdriver.Remote(
    command_executor='http://xxx:5001/wd/hub',
    options=chrome_options
)
driver.get('https://www.baidu.com')
print(driver.title)
time.sleep(15)
driver.quit()

在Selenium Grid 4中,查看节点测试过程的live view密码默认为"secret"。