1.拉去镜像:
docker pull selenium/hub
docker pull baozhida/selenium-node-chrome-debug:58
docker pull baozhida/selenium-node-firefox-debug:52
2.创建并允许容器:
创建selenium hub容器
dockerrun -d -p 4444:4444 --name selehub selenium/hub
创建chrome node容器
docker run -d -p 5901:5900 --name node58 --link selehub:hub --shm-size=512m baozhida/selenium-node-chrome-debug:58
创建firefox node容器
docker run -d -p 5912:5900 --name ff52 --link selehub:hub --shm-size=512m baozhida/selenium-node-firefox-debug:52
说明:
*-d参数:后台模式运行;
--name参数:别名;
-p参数:将容器的5900端口映射到docker的5901端口,访问Docker的5901端口即可访问到node容器;
--shm-size参数:docker默认的共享内存/dev/shm只有64m,有时导致chrome崩溃,该参数增加共享内存大小到512m.*
docker logs -f selehub:查看日志
在浏览器输入:主机ip:4444/grid/console
下载VNC客户端:https://www.realvnc.com/en/connect/download/vnc/
输入192.168.99.100:5901-->回车-->输入密码:secret-->确认-->进入chrome
输入192.168.99.100:5901-->回车-->输入密码:secret-->确认-->进入firefox
from selenium import webdriver
firefox_capabilities={
"browserName":"firefox",
"version": "52.0",#注意版本号一定要写对
"platform": "ANY",
"javascriptEnabled": True,
"marionette": True,
}
browser=webdriver.Remote("http://192.168.99.100:4444/wd/hub",desired_capabilities=firefox_capabilities)#注意端口号4444是我们上文中映射的宿主机端口号
browser.get("http://www.baidu.com")
browser.get_screenshot_as_file(r"C:/baidu.png")
browser.close()
```