成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Webdriver-manager解決瀏覽器與驅動不匹配所帶來自動化無法執行的問題

開發 測試
使用 Webdriver-manager,它可以幫助我們自動識別當前運行環境下的系統信息以及對應瀏覽器信息,并自動下載對應瀏覽器驅動。Webdriver-manager 庫提供了自動管理不同瀏覽器驅動程序的方法。

1、前言

在我們使用 Selenium 進行 UI 自動化測試時,常常會因為瀏覽器驅動與瀏覽器版本不匹配,而導致自動化測試無法執行,需要手動去下載對應的驅動版本,并替換原有的驅動,可能還會遇到跨操作系統進行測試的時候,以及瀏覽器自動升級后,也會導致與驅動不匹配的問題。

為了解決這個問題,可以使用 webdriver-manager,它可以幫助我們自動識別當前運行環境下的系統信息以及對應瀏覽器信息,并自動下載對應瀏覽器驅動。

2、簡介

webdriver-manager 庫提供了自動管理不同瀏覽器驅動程序的方法。

主要思想是簡化不同瀏覽器的二進制驅動程序的管理。

目前支持:

  • ChromeDriver
  • EdgeChromiumDriver
  • GeckoDriver
  • IEDriver
  • OperaDriver

安裝:

pip install webdriver_manager

3、示例

原始代碼:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公眾號:AllTests軟件測試

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

運行后報錯,發現此版本的 ChromeDriver 與當前瀏覽器版本不匹配,無法執行。

更新代碼(導入webdriver-manager,運行腳本,webdriver-manager 將檢查當前使用的瀏覽器版本,并自動下載/更新匹配的瀏覽器驅動程序,這樣將始終保持瀏覽器版本與驅動程序是互相匹配的。)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公眾號:AllTests軟件測試

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(executable_path=ChromeDriverManager().install())
driver.get('https://www.baidu.com/')

4、更多

作者在示例中使用的是 Selenium 3,webdriver-manager 也支持 Selenium 4 的。

Chrome

# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))

Chromium

# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeType

driver = webdriver.Chrome(ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromiumService
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeType

driver = webdriver.Chrome(service=ChromiumService(ChromeDriverManager(chrome_type=ChromeType.CHROMIUM).install()))

Brave

# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeType

driver = webdriver.Chrome(ChromeDriverManager(chrome_type=ChromeType.BRAVE).install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as BraveService
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.utils import ChromeType

driver = webdriver.Chrome(service=BraveService(ChromeDriverManager(chrome_type=ChromeType.BRAVE).install()))

Edge

# selenium 3
from selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager

driver = webdriver.Edge(EdgeChromiumDriverManager().install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.edge.service import Service as EdgeService
from webdriver_manager.microsoft import EdgeChromiumDriverManager

driver = webdriver.Edge(service=EdgeService(EdgeChromiumDriverManager().install()))

Firefox

# selenium 3
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(service=FirefoxService(GeckoDriverManager().install()))

IE

# selenium 3
from selenium import webdriver
from webdriver_manager.microsoft import IEDriverManager

driver = webdriver.Ie(IEDriverManager().install())
# selenium 4
from selenium import webdriver
from selenium.webdriver.ie.service import Service as IEService
from webdriver_manager.microsoft import IEDriverManager

driver = webdriver.Ie(service=IEService(IEDriverManager().install()))

Opera

# selenium 3
from selenium import webdriver
from selenium.webdriver.chrome import service
from webdriver_manager.opera import OperaDriverManager

webdriver_service = service.Service(OperaDriverManager().install())
webdriver_service.start()

driver = webdriver.Remote(webdriver_service.service_url, webdriver.DesiredCapabilities.OPERA)
# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome import service
from webdriver_manager.opera import OperaDriverManager

webdriver_service = service.Service(OperaDriverManager().install())
webdriver_service.start()

options = webdriver.ChromeOptions()
options.add_experimental_option('w3c', True)

driver = webdriver.Remote(webdriver_service.service_url, options=options)

自定義日志記錄

如果需要使用自定義日志記錄,可以創建一個記錄器并使用 set_logger() 進行設置。

import logging
from webdriver_manager.core.logger import set_logger

logger = logging.getLogger("custom_logger")
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler())
logger.addHandler(logging.FileHandler("custom.log"))

set_logger(logger)
責任編輯:姜華 來源: AllTests軟件測試
相關推薦

2018-12-03 08:46:36

Web瀏覽器SeleniumPython

2017-11-20 08:35:32

虛擬服務器自動化

2023-08-03 09:10:37

2021-06-11 10:15:15

自動化人工智能AI

2022-06-04 07:13:20

黑客瀏覽器網絡攻擊

2009-03-04 17:43:31

虛擬化自動化惠普

2010-08-31 09:54:03

非法DHCP服務器

2023-12-21 11:12:31

Node.js.NET開源庫

2009-12-15 17:43:04

Ruby自動化驅動

2022-04-07 09:00:00

跨瀏覽器測試自動化服務異常

2025-03-14 08:21:09

Puppeteer.NET開發者

2021-11-23 12:11:59

PowershellLinuxDevOps

2010-08-11 15:17:51

瀏覽器兼容性問題

2010-09-15 09:43:24

Javascript瀏覽器兼容

2010-08-11 13:35:10

JavaScriptCSS

2011-04-12 16:51:29

Javascript兼容性

2020-08-31 19:20:33

瀏覽器CORS跨域

2024-02-04 17:12:49

2021-02-04 09:00:00

跨瀏覽器移動測試工具

2021-11-05 09:00:00

Selenium工具自動化測試
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: japanhd美女动| 精品免费在线 | 国产伦一区二区三区 | 国产精品视频不卡 | 欧美中文字幕一区 | 久久精品国产久精国产 | 日本在线综合 | 一区二区日韩 | 亚洲日日夜夜 | 国产精品久久久久一区二区 | 91麻豆精品国产91久久久久久 | 色888www视频在线观看 | 国产精品久久久久久久久久软件 | 国产精品99久久久久久久vr | 亚洲国产aⅴ成人精品无吗 欧美激情欧美激情在线五月 | 国产特一级黄色片 | 久久久婷婷| 国产2区| 人人干97 | 精品国产伦一区二区三区观看体验 | 国产成人亚洲精品 | 波多野结衣先锋影音 | 午夜国产精品视频 | 久久国产亚洲 | 欧美日韩国产精品一区 | 欧美日韩国产精品一区 | 亚洲视频一区二区三区 | 成人在线免费 | 久久视频免费观看 | 久久国产成人午夜av影院武则天 | 亚洲性人人天天夜夜摸 | 亚洲一区免费 | 91中文字幕在线观看 | av免费网| 亚洲国产成人精品女人 | 91新视频 | 日韩精品一区二区三区高清免费 | 亚洲一区二区国产 | 欧美日韩亚洲一区 | 国产91精品网站 | 欧美精品久久久 |