前言:做web自动化的同学都知道selenium grid非常好用,但是环境配置特别麻烦,很多人都躺在了环境搭建。那么有没有更简单的方式呢,答案是肯定的,今天我们就用docker来完成它,希望对大家有帮助。
一、环境准备
- 准备一台 Linux 服务器(云服务器、自建 Linux 服务器都可以)
- 在 Linux 服务器上安装 docker
- docker安装就不讲了,照着官网的命令来就可以了,很简单的。
二、准备开工
第一步:拉取docker官方镜像
拉取hub镜像:docker pull selenium/hub
拉取chrome浏览器镜像:docker pull selenium/node-chrome
第二步:启动Hub节点的docker
docker run -p 5555:4444 -d --name hub selenium/hub
-d:后台运行容器
-p 5555:4444:将宿主机端口5555与容器端口4444做映射
第三步:启动Node节点的docker
docker run -P -d --link hub:hub --name chrome selenium/node-chrome
-P:暴露默认端口
-d:后台运行容器
--link:链接hub容器
第四步:验证环境搭建是否成功
浏览器访问:http://192.168.1.66:5555/grid/console
看到有你映射的浏览器版本和图标就成功了
第五步:上代码
import time
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
driver = webdriver.Remote(command_executor='http://192.168.1.66:5555/wd/hub',desired_capabilities=DesiredCapabilities.CHROME)
driver.get('https://www.baidu.com')
print("跑起来吧......")
time.sleep(2)
print("获取百度的title:",driver.title)
driver.quit()
print("跑完了......")
脚本截图如下:
欢迎来到testingpai.com!
注册 关于