登录
首页 >  文章 >  python教程

硒 python 和 docker

来源:dev.to

时间:2024-08-28 11:27:50 244浏览 收藏

哈喽!今天心血来潮给大家带来了《硒 python 和 docker》,想必大家应该对文章都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习文章,千万别错过这篇文章~希望能帮助到你!

硒 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删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>