每次用Selenium的时候挺烦这个driver的,部署在自己使用的电脑上吧,用起来真心难受,太影响自己平时使用了,好在docker有这个,直接把爬虫脚本,测试脚本仍在这里面,再加上docker可以快速搞很多node,用起来还是挺舒服的。

相关镜像的拉取

首先拉取这个Selenium镜像,和我们平时拉镜像的方法不同的是,这个镜像要拉取多个的,使用如下命令。

docker pull selenium/hub

这个相当于我们使用的Selenium各种库,众所周知,我们使用Selenium不仅需要使用库,还有更重要的是浏览器及对应的driver

所以就要再拉取一个镜像(这个是chrome,想用其他的也可以的),使用如下命令

docker pull selenium/node-chrome

使用如下命令查看下这俩镜像是否拉取成功

docker images

可以看到镜像还是比较大的。

 

镜像启动相关

首先启动主hub镜像,使用命令如下

docker run -d -P --name selenium-hub selenium/hub

命令相关参数解释:

-d 后台运行容器,并返回容器的id
-P 随机映射一个内部开放的端口到主机的49000~49900端口,也可以使用-p指定一个端口

启动分支node chrome镜像,使用如下命令

docker run -d -v e:\MWX:/share --link selenium-hub:hub -it selenium/node-chrome /bin/bash

命令相关参数解释:

-d 后台运行容器
-v e:\MWX:/share 类似于挂载本地文件夹到容器中,方便我们和主机之前共享爬虫的数据之类的
-it /bin/bash 启动一个命令行
--link是通过link命令关联主hub镜像selenium-hub启动的指定容器,并且为这个主镜像的容器设置了别名bub

使用上述命令

使用如下命令查看下容器

docker ps

启动完成

 

基本使用

使用起来基本上和主机上是一样的,需要注意的是运行脚本连接的地方是在这个nod-chrome容器中。

只不过docker上没有界面,所以只能根据最后运行的输出来判断是否运行成功。

比如我们可以写一个简单的测试脚本使用下:

进入chrome容器中运行该脚本

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐