首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker -如何用chromedriver安装chrome或用Geckodriver构建python应用程序并使用砷库构建Firefox

Docker -如何用chromedriver安装chrome或用Geckodriver构建python应用程序并使用砷库构建Firefox
EN

Ask Ubuntu用户
提问于 2020-12-11 12:25:18
回答 1查看 5K关注 0票数 0

Python3应用程序,使用砷库异步网络报废。它需要带有驱动程序的浏览器。所有的测试都是在windows py魅力上测试的,因为我安装了Chrome操作系统。现在我必须使用在AmazonUbuntu20.04服务器上构建我的应用程序,我尝试了许多不同的方法,但仍然无法使它工作…下面是我的停靠程序和python代码的一部分:

我的Dockerfile:

代码语言:javascript
复制
FROM python:latest

WORKDIR /src
COPY requirements.txt /src
RUN pip install -r requirements.txt
COPY . /src

我的船坞-写作:

代码语言:javascript
复制
version: '3.1'

services:

  tgbot:
    container_name: bot
    build:
      context: .
    command: python app.py
    restart: always
    environment:
      WEBAPP_PORT: 3001
    env_file:
      - ".env"
    # bot start after load db
    ports:
      - 8443:3001
    networks:
      - botnet
    volumes:
      - ./:/src

networks:
      botnet:
        driver: bridge

requirements.txt包括arsenic~=20.9

Python代码,在我的windows PC上使用砷(我已经安装了chrome,+ app文件夹中的chromedriver文件):

代码语言:javascript
复制
from arsenic import get_session, keys, browsers, services
async def arsenic_scraper(url):
    service = services.Chromedriver() # here is driver, if empty - it should find from PATH, or path to driver
    browser = browsers.Chrome()
    async with get_session(service, browser) as session:
        await session.get(url)

FileNotFoundError:Errno 2没有这样的文件或目录:'chromedriver'

EN

回答 1

Ask Ubuntu用户

发布于 2020-12-13 07:24:28

你还没有在你的对接映像中安装铬和铬驱动器,所以你的应用程序找不到它们。由于官方python docker映像使用Debian,所以您可以尝试在docker映像中使用

RUN apt-get install -y google-chrome-stable

并下载兼容版本的色驱动程序,可能与wget兼容。检查应使用哪个版本的chromedriver文档:https://chromedriver.chromium.org/

然后,确保应用程序在下载chromedriver的目录中。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1299283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档