Selenium 没有关闭 docker 中的浏览器进程

奥斯曼奥马尔

我有一个码头集装箱:

    ...
    web:
     build:
      context: .
      dockerfile: Dockerfile
     command: python /code/manage.py migrate --noinput
     command: python /code/manage.py runserver 0.0.0.0:8000
     volumes:
      - .:/code
     ports:
      - 80:8000
     environment:
      - SECRET_KEY=changemeinprod
     depends_on:
      - db
      - redis
     ...

Selenium 废料在此容器中运行(docker 中的 django 项目):

     ...
     chrome_options = Options()
     chrome_options.add_argument("--headless")
     chrome_options.add_argument('--no-sandbox')
     chrome_options.add_argument('--disable-dev-shm-usage')
     prefs = {"profile.managed_default_content_settings.images": 2}
     chrome_options.add_experimental_option("prefs", prefs)

     driver = webdriver.Chrome(executable_path=chrome_driver_path, 
     options=chrome_options)
     driver.get(link)
     ...
     ...
     pid = driver.service.process.pid

     driver.quit()
     try:
         os.kill(int(pid), signal.SIGTERM)
         print("Killed chrome using process")
     except ProcessLookupError as e:
         pass

尽管我driver用 command关闭driver.quit(),chrome 进程仍在运行。由于多个 chrome 进程正在运行,此脚本的每次执行都会保持 chrome 进程并使下一次执行速度变慢。如何在 docker 中实现关闭镀铬?即使我需要重新启动运行 django 项目的容器,您能否告诉我如何在 python 脚本中执行此操作(docker 容器使用 python 脚本重新启动)。

阿普尔夫·卡拉

尝试使用driver.close()代替driver.quit(). 另外,尝试在您的呼叫中添加超时...这可能只是链接下载时间过长。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Selenium Python 中关闭浏览器弹出窗口

来自分类Dev

Docker-selenium-chrome查看浏览器

来自分类Dev

Docker Selenium独立服务器无法将文件上传到容器中的网格浏览器

来自分类Dev

如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

来自分类Dev

如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

来自分类Dev

每次测试后TestNG浏览器都没有关闭

来自分类Dev

完成循环后,使用Selenium关闭浏览器

来自分类Dev

Selenium 中的默认浏览器属性

来自分类Dev

Selenium是否集成了“独立”浏览器(通过Web驱动程序)或使用操作系统中安装的现有浏览器?

来自分类Dev

Selenium webdriver 不像浏览器那样解释标记,我不能像浏览器那样加载 DOM 中的所有 HTML 元素

来自分类Dev

在Mac上具有Node和Express的Docker容器,未在浏览器中显示?

来自分类Dev

带有 nginx 和 gunicorn 的 docker 未在浏览器中打开

来自分类Dev

Docker在浏览器中访问localhost

来自分类Dev

引导箱中的提示弹出窗口没有关闭

来自分类Dev

Linux / Ubuntu中没有关闭来宾?

来自分类Dev

输入框中的“取消”按钮没有关闭

来自分类Dev

在Qt中创建没有关闭按钮的窗口

来自分类Dev

Rapberry Pi 中的 GPIO 没有关闭

来自分类Dev

Python selenium webdriver 什么都没有,但浏览器正常显示网页

来自分类Dev

谷歌浏览器杀死进程如何从终端关闭窗口?

来自分类Dev

如何在 PhantomDriver(无头浏览器)中没有 findElement 函数错误的情况下隐藏 FirefoxDriver(使用 Selenium)?

来自分类Dev

如何防止Selenium在每个功能启动后关闭浏览器?

来自分类Dev

如何在Capybara和Selenium中打开浏览器

来自分类Dev

假装在Selenium Chrome浏览器中

来自分类Dev

尝试使浏览器自动化时,Selenium中的ElementNotInteractableException

来自分类Dev

无法在Python Selenium中重新打开浏览器

来自分类Dev

在Python中强制Selenium等待浏览器完成加载

来自分类Dev

Chrome 浏览器中的 Selenium 插件/扩展

来自分类Dev

使用 Selenium + VBA 在浏览器中粘贴 Excel 范围

Related 相关文章

  1. 1

    在 Selenium Python 中关闭浏览器弹出窗口

  2. 2

    Docker-selenium-chrome查看浏览器

  3. 3

    Docker Selenium独立服务器无法将文件上传到容器中的网格浏览器

  4. 4

    如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

  5. 5

    如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

  6. 6

    每次测试后TestNG浏览器都没有关闭

  7. 7

    完成循环后,使用Selenium关闭浏览器

  8. 8

    Selenium 中的默认浏览器属性

  9. 9

    Selenium是否集成了“独立”浏览器(通过Web驱动程序)或使用操作系统中安装的现有浏览器?

  10. 10

    Selenium webdriver 不像浏览器那样解释标记,我不能像浏览器那样加载 DOM 中的所有 HTML 元素

  11. 11

    在Mac上具有Node和Express的Docker容器,未在浏览器中显示?

  12. 12

    带有 nginx 和 gunicorn 的 docker 未在浏览器中打开

  13. 13

    Docker在浏览器中访问localhost

  14. 14

    引导箱中的提示弹出窗口没有关闭

  15. 15

    Linux / Ubuntu中没有关闭来宾?

  16. 16

    输入框中的“取消”按钮没有关闭

  17. 17

    在Qt中创建没有关闭按钮的窗口

  18. 18

    Rapberry Pi 中的 GPIO 没有关闭

  19. 19

    Python selenium webdriver 什么都没有,但浏览器正常显示网页

  20. 20

    谷歌浏览器杀死进程如何从终端关闭窗口?

  21. 21

    如何在 PhantomDriver(无头浏览器)中没有 findElement 函数错误的情况下隐藏 FirefoxDriver(使用 Selenium)?

  22. 22

    如何防止Selenium在每个功能启动后关闭浏览器?

  23. 23

    如何在Capybara和Selenium中打开浏览器

  24. 24

    假装在Selenium Chrome浏览器中

  25. 25

    尝试使浏览器自动化时,Selenium中的ElementNotInteractableException

  26. 26

    无法在Python Selenium中重新打开浏览器

  27. 27

    在Python中强制Selenium等待浏览器完成加载

  28. 28

    Chrome 浏览器中的 Selenium 插件/扩展

  29. 29

    使用 Selenium + VBA 在浏览器中粘贴 Excel 范围

热门标签

归档