docker與Selenium

每次用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容器中運行該腳本

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章