linux上搭建selenium

阅读 38

2024-12-04

本文以google浏览器为前提。

在windows中使用 selenium时,需要google浏览器,还需要使用goolge版本对应的驱动。之前driver都在一个taobao的镜像网站中,不知道从什么时候开始,网站无非访问了,迁移到最新的网站 <https://googlechromelabs.github.io/chrome-for-testing/>

下面来详细说明 linux中docker 下搭建selenium。 首先 需要拉取镜像 standalone-chrome-debug 测试用 1、下载镜像 docker pull selenium/standalone-chrome-debug 2、运行容器 docker run -tid --name chrome-debug -h chrome-debug --memory 1g --memory-swap -1 -p 9516:4444 -p 31527:5900 selenium/standalone-chrome-debug 以上作用相当于本地windows中安装的google浏览器 以及对应的驱动。 这样网站打开、操作都是在chrome-debug容器内运行。 查询 chrome-debug 是否启动正常。docker ps 查看容器内运行的服务 docker top chrome-debug | awk '{for (i=2; i<=NF; i++) {if (i == 2 || i>=6) printf $i " "} print ""}'

代码中修改。 windows中

----------------------------------windows下测试-------------------------------------

# chrome_options = Options()
# chrome_options.add_argument("--start-maximized")
# 初始化Chrome浏览器
# service = Service(r'./chromedriver.exe')  # 替换为你的chromedriver路径
# driver = webdriver.Chrome(service=service, options=chrome_options)
# ----------------------------------windows下测试-------------------------------------

linux 修改为: remote_url = 'http://ip:9516/wd/hub' # 配置浏览器选项 chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') # 连接到远程Selenium Chrome节点 driver = webdriver.Remote(command_executor=remote_url, options=chrome_options)

既然是测试,如何查看具体的操作和点击情况呢。 需要用到一个软件 VNCViewer 输入 ip:31527 密码 secret 即可查到界面情况。 到此测试环境搭建完成。

生产中使用的镜像为:selenium/standalone-chrome

引用:https://zhuanlan.zhihu.com/p/665232163

精彩评论(0)

0 0 举报