Docker 怎么样把 python 的 selenium 自动化脚本,放到 docker 容器

小鸭子嘎嘎 · 2023年06月27日 · 最后由 Jerry li 回复于 2023年06月29日 · 9063 次阅读

有相关的文章教程吗?

需求:

  1. 把 python 代码,放到 docker 容器
  2. 使用 docker 执行 python
  3. 能够实现 selenium 的运行

我在网上找,似乎资料不全,没有完整的教程。

有没有大佬,有相关的经验或者文章分享一下

共收到 13 条回复 时间 点赞

一般来说,代码不需要运行在 docker 里面,运行在 docker 里面的是浏览器

如果你一定要把代码放 docker,那你就专门启一个 docker,通过 shell 远程到 docker 上执行 git pull,运行脚本等操作就可以了

社区里面有篇文章,参考一下
https://testerhome.com/topics/8517

没用过,不过理解下来可以分几步走:
1、构建一个基础镜像,包含 python、selenium、Chrome 等、脚本依赖插件等
2、每次执行,引用步骤 1 的镜像构建一个新镜像,包含最新脚本
3、基于步骤 2 的镜像启动容器
4、具体问题具体分析

https://testerhome.com/topics/13372 之前用 docker 搭建 selenium 的记录。
其实本质上可以分成两部分:

  1. 执行 Python 的容器。可以基于 Linux 或者 Python3 的镜像,拉取你的执行代码进行执行。
  2. 执行 selenium 的服务。可以是你启动的一个远程 selenium server 或者 guid ,或者是基于 selenium 的镜像启动的容器。通过 selenium server 指定地址执行就可以了。

这个,还是看你的具体需求是什么。比方说是想分布式执行还是只起一个 docker 镜像,是想自己写 dockerfile 搭建环境还是用已有的成熟 selenium 镜像。这两方面我都搞过,如果有兴趣可以聊一下你具体走不下去的点,再看如何解决你的问题。

懂了,,那我的 python 代码,不一定非要放 docker,,可以放 linux,,然后通过接口调用 docker 容器的 selenium 镜像

去踢球吧 回复

好,看到了,不错

tester 回复

好的

同样不理解,为什么要把代码放在 docker 中,docker 不是一般就拿来当作一套可以隔离的运行环境吗?当作代码的运行环境即可。
你的需求,其实就是容器化的运行 selenium 吧,你可以看下 selenoid 相关的资料,社区中也有,应该可以满足你的需求

docker-selenium 提供了 selenium 的运行环境(包含浏览器和驱动): https://github.com/SeleniumHQ/docker-selenium

至于 selenium 脚本,因为这个脚本时长需要改动,想不到放 docker 的目的; 更应该考虑 集成 CI 吧~!

去踢球吧 回复

难以想象这是 17 年的文章,这几年自动化领域看不到什么大的进步

自动化现在最高级的我知道的应该也就是到低代码级别,感觉来来回回都是这些东西

另一方面是不是也说明 web 自动化这块其实已经比较成熟了,没什么特别的亮点。难点还是在移动端上面。

小鸭子嘎嘎 关闭了讨论 07月18日 17:25
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册