日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Docker selenium自动化 - 使用python操作docker,python运行、启用、停用和查询容器实例演示

發布時間:2025/4/16 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker selenium自动化 - 使用python操作docker,python运行、启用、停用和查询容器实例演示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker selenium 自動化 - 使用 Python 操作 docker 運行、啟用、停用和查詢容器實例演示

  • 第一章:Python 操作 docker
  • ① python 運行 docker 容器實例
  • ② python 啟用、停用容器實例
  • ③ python 查詢、展示容器實例列表
  • 第二章:Python 調用 docker selenium 執行自動化實例演示
  • ① 源碼展示
  • ② 運行效果

[系列文章篇]
篇章一:Docker selenium 自動化 - windowsdocker 的安裝與運行環境檢測
篇章二:Docker selenium 自動化 - Python 調用容器實例跑自動化查天氣實例演示,docker selenium 自動化環境部署過程
[問題處理篇]
篇章一:Docker selenium 自動化 - 修改 /dev/shm 路徑大小實例演示,“session deleted because of page crash” 問題解決
篇章二:Docker selenium 自動化 - 執行程序沒反應、不執行原因,強制處理之前失敗的進程,“… requests waiting for a slot to be free” 問題解決

第一章:Python 操作 docker

① python 運行 docker 容器實例

通過 pip install docker 安裝 dockerpython 庫后即可調用本地的 docker 程序。

import dockerclient = docker.from_env()def create_docker1(docker_name):'''作用:運行一個(selenium/hub)容器實例,可選參數detach=True為后臺運行參數:docker_name為容器的名稱返回:容器對象'''client.containers.run("selenium/hub", name = docker_name, ports={"4444/tcp":None}, detach = True, shm_size="500M");container = client.containers.get(docker_name);return containerdef create_docker2(docker_name):'''作用:運行一個(selenium/node-chrome)容器實例,可選參數detach=True為后臺運行參數:docker_name為容器的名稱返回:容器對象'''client.containers.run("selenium/node-chrome", name = docker_name, detach = True, links = {"hub":"hub"});container = client.containers.get(docker_name);return containercontainer = create_docker1("hub"); container = create_docker2("elastic_tharp");

執行完可以查看容器信息,已經創建成功并運行了。

可以正常打開 seleniumGrid 控制臺。

② python 啟用、停用容器實例

def stop_docker(container_name):'''作用:停用容器參數:需要停用的容器名稱返回:無'''container = client.containers.get(container_name)container.stop()print("容器已停用")def start_docker(container_name):'''作用:啟用容器參數:需要啟用的容器名稱返回:無'''container = client.containers.get(container_name)container.start()print("容器已啟用")start_docker("hub") start_docker("elastic_tharp")

③ python 查詢、展示容器實例列表

def list_docker():'''作用:展示容器相關列表參數:無返回:無'''# 顯示所有的容器對象results = client.containers.list()k = 0for i in results:k = k + 1;print("序號:" + str(k))print("容器短id:" + i.short_id)print("容器名:" + i.name)print("容器狀態:" + i.status)print("容器端口:" + str(i.ports))print("")

第二章:Python 調用 docker selenium 執行自動化實例演示

① 源碼展示

容器實例重啟后,對應的端口信息會有相應的改變,所以測試的地址跟最開始創建時有所差異。

# -*- coding: UTF8 -*- # 2021.12.13 # 小藍棗 # docker selenium 自動化from selenium import webdriver from time import sleepdriver = webdriver.Remote(command_executor='http://127.0.0.1:55611/wd/hub',desired_capabilities={'browserName': 'chrome'} )try:# 登錄中國氣象網查看北京天氣driver.get('http://www.weather.com.cn/weather1d/101010100.shtml')sleep(3)# 讀取天氣信息bj_temperature = driver.find_element_by_xpath('//*[@class="sk mySkyNull"]//*[@class="tem"]/*').textbj_wind_direction = driver.find_element_by_xpath('//*[@class="sk mySkyNull"]//*[@class="zs w"]/span').textbj_wind_class = driver.find_element_by_xpath('//*[@class="sk mySkyNull"]//*[@class="zs w"]/em').textbj_air_quality = driver.find_element_by_xpath('//*[@class="sk mySkyNull"]//*[@class="zs pol"]//a').textbj_weather = '''城市:北京當前溫度:%s風向:%s風力:%s空氣質量:%s'''%(bj_temperature,bj_wind_direction,bj_wind_class,bj_air_quality)# 打印抓取的天氣信息print(bj_weather)# 保存截圖driver.get_screenshot_as_file("docker_selenium_run_001.png")# 保證出錯后進程正常釋放 finally:driver.quit()

② 運行效果

抓取的天氣信息如下:

同時可以看到保存的截圖。


喜歡的點個贊?吧!

總結

以上是生活随笔為你收集整理的Docker selenium自动化 - 使用python操作docker,python运行、启用、停用和查询容器实例演示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。