硒 python 和 docker
来源:dev.to
时间:2024-08-28 11:27:50 244浏览 收藏
哈喽!今天心血来潮给大家带来了《硒 python 和 docker》,想必大家应该对文章都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习文章,千万别错过这篇文章~希望能帮助到你!
嗨,我展示了如何在 docker 容器中使用 selenium (或 undetected_chromedriver)。
我——dockerfile
我正在使用 docker python 图像并添加 chromdriver 和 chromium 来浏览网站。
第一步是创建requirements.txt 文件。就我个人而言,我使用 undetected-chromedriver 库,它需要 selenium
undetected-chromedriver==3.5.5
from python:3.10 copy ../.. . run wget -q -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - run sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' run apt-get -y update run apt-get install -y chromium # install chromedriver run apt-get install -yqq unzip run wget -o /tmp/chromedriver.zip http://chromedriver.storage.googleapis.com/`curl -ss chromedriver.storage.googleapis.com/latest_release`/chromedriver_linux64.zip run unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/ env display=:99 run pip install -r requirements.txt cmd python -u app.py
例如,您可以在 docker-compose 中运行此 dockerfile。
services: bot: build: selenium-test
ii - 脚本
在第二步中,我需要添加两个在容器中工作的选项。
我补充:
- --无沙箱
- --禁用-setuid-sandbox
这是一个使用 python 的示例
class app: options: uc.chromeoptions driver: uc.chrome def __init__(self): self.options = uc.chromeoptions() self.options.arguments.extend(["--no-sandbox", "--disable-setuid-sandbox"]) self.driver = uc.chrome(headless=true, use_subprocess=false)
然后您可以使用 undetected_chromedriver 作为 selenium,如下所示:
self.driver.execute_script("console.log("Hello")
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《硒 python 和 docker》文章吧,也可关注golang学习网公众号了解相关技术文章。
声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
345 收藏
-
463 收藏
-
124 收藏
-
393 收藏
-
424 收藏
-
123 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习