一、安装单个Chrome环境
docker pull selenium/standalone-chrome-debug docker run -d -p 4444:4444 -p 5900:5900 --shm-size 2g selenium/standalone-chrome-debug
vnc://localhost:5900 密码默认为secret
二、docker搭建selenium grid 分布式环境
1.获取镜像
docker pull selenium/hub docker pull selenium/node-chrome docker pull selenium/node-chrome-debug
2.运行容器
启动hub
docker run -d -p 4444:4444 -e GRID_MAX_SESSION=100 --name hub selenium/hub
启动node
docker run -d -p 5555:5555 -e NODE_MAX_INSTANCES=5 -e NODE_MAX_SESSION=5 --shm-size=2g --link hub:hub --name node1 selenium/node-chrome
启动chrome-debug
docker run -d -p 5900:5900 --link hub:hub selenium/node-chrome-debug
三、安装VNC Viewer
下载地址:https://www.realvnc.com/en/connect/download/viewer/
打开后输入访问的机器IP,会要求输入密码,默认密码为 secret
测试脚本
from time import sleep from selenium import webdriver class TestWeb: def setup_class(self): self.driver = webdriver.Remote(command_executor='http://192.168.32.252:4444/wd/hub', desired_capabilities={'browserName': 'chrome'}) def test_ui_web(self): self.driver.get('https://www.baidu.com/') print("start run") sleep(3) self.driver.get_screenshot_as_file("img1.png") def teardown_class(self): self.driver.quit() print("end...")
四、问题
外网访问docker 里的selenium 服务不通
cmd 执行: netsh interface portproxy add v4tov4 listenport=4444 listenaddress=172.16.100.1 connectport=4444 connectaddress=192.168.99.100
注:listenaddress=172.16.100.1为windows本机ip地址
connectaddress=192.168.99.100为linux服务器ip地址
浙公网安备 33010602011771号