服务器 
首页 > 服务器 > 浏览文章

基于docker搭建selenium分布式环境

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )

1、下载镜像

docker pull selenium/hub
docker pull selenium/node-firefox
docker pull selenium/node-chrome

注意:selenium/node-firefox和selenium/node-chrome都是无界面的。

要想能看到实时运行界面,需要使用以下两个镜像之一。

docker pull selenium/standalone-chrome-debug
docker pull selenium/standalone-firefox-debug

2、启动Hub节点的Docker

docker run -p 4444:4444 -d --name hub selenium/hub

参数说明:

  • run:运行一个镜像,创建出一个容器。
  • -p 4444:4444 :映射容器里端口。
  • -d: 后台运行
  • --name:容器名称,这里我就直接把这个容器成为hub

3、启动Node节点的Docker

docker run -P -d --link hub:hub --name firefox selenium/node-firefox
docker run -P -d --link hub:hub --name chrome selenium/node-chrome

或带Debug界面的Node节点

docker run -d -p 5900:5900 --link hub:hub selenium/node-chrome-debug

参数说明:

--link 是链接别名为hub的容器。

4、安装配置VNC

VNC (Virtual Network Console)是虚拟网络控制台的缩写。是一款优秀的远程控制工具软件,在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用。

下载地址:https://www.realvnc.com/en/connect/download/viewer/

5、测试代码

使用Selenium Grid服务需要使用webdriver.Remote方法连接服务,并传入desired_capbilities 期望的能力。示例脚本如下。

from time import sleep
from selenium import webdriver


driver = webdriver.Remote(
command_executor='http://192.168.99.100:4444/wd/hub',
desired_capabilities={'browserName': 'chrome'}
)

driver.get('https://www.baidu.com')
print("start run")
sleep(1)
print(driver.title)
driver.quit()
print("end...")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:连接docker里面的mysql失败解决方法
下一篇:Docker动态给容器Container暴露端口操作
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?