selenium使用自动下载driver版本----webdriver-manager

Posted IT界的测试混子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium使用自动下载driver版本----webdriver-manager相关的知识,希望对你有一定的参考价值。

闲来无事研究下selenium。发现了个东西,必须奔走相告。
那就是:selenium可以自动下载driver版本,浏览器升级也不怕啦。
当然,在这之前也有人出过这种教程,自己写脚本去下载driver。
我们来看看官网怎么说

使用Drivers的方式

https://www.selenium.dev/documentation/webdriver/getting_started/install_drivers/

  • Driver Management Software 看着眼生。这就是Driver最新的使用方式。直接用Driver Management 来管理,随着浏览器的升级而升级。

来coding一下吧

  • 先安装库
pip install webdriver-manager
pip install selenium
  • 例子:
#selenium4
import time
from selenium import webdriver
from selenium.webdriver.edge.service import Service
from webdriver_manager.microsoft import  IEDriverManager

service = Service(executable_path=IEDriverManager().install())
driver = webdriver.Ie(service=service)
driver.get("https://www.baidu.com")
driver.maximize_window()
time.sleep(5)
driver.quit()
  • 自动下载driver啦~~ 真棒。大家可以试下把浏览器升级再跑一遍。

selenium3的小伙伴。这样写哦

#selenium3
import time
from selenium import webdriver
from webdriver_manager.microsoft import  IEDriverManager

driver = webdriver.Ie(IEDriverManager().install())
driver.get("https://www.baidu.com")
driver.maximize_window()
time.sleep(5)
driver.quit()

import pytest
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.edge.service import Service as EdgeService
from selenium.webdriver.firefox.service import Service as FirefoxService
from selenium.webdriver.ie.service import Service as IEService
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.firefox import GeckoDriverManager
from webdriver_manager.microsoft import EdgeChromiumDriverManager
from webdriver_manager.microsoft import IEDriverManager

def test_driver_manager_chrome():
    service = ChromeService(executable_path=ChromeDriverManager().install())
    driver = webdriver.Chrome(service=service)
    driver.quit()

def test_edge_session():
    service = EdgeService(executable_path=EdgeChromiumDriverManager().install())
    driver = webdriver.Edge(service=service)
    driver.quit()


def test_firefox_session():
    service = FirefoxService(executable_path=GeckoDriverManager().install())
    driver = webdriver.Firefox(service=service)
    driver.quit()


@pytest.mark.skip(reason="only runs on Windows")
def test_ie_session():
    service = IEService(executable_path=IEDriverManager().install())
    driver = webdriver.Ie(service=service)
    driver.quit()

最后唠一下。这些其实官网上就有的内容。
但是我发现baidu上搜索这些相关的内容,总搜不到自己想要的。
大概是大佬们觉得这个都不用说。官网上写得明明白白。
分享出来的目的,一是希望有需要的人能看到,二是希望大家多看官网,从源头去汲取营养。
奋斗吧少年。


以上是关于selenium使用自动下载driver版本----webdriver-manager的主要内容,如果未能解决你的问题,请参考以下文章

嘿!selenium自动下载driver版本,得知道一下

Selenium3自动化测试浏览器driver的安装(Chrome)

Selenium3自动化测试浏览器driver的安装(Chrome)

自动化测试学习总结:ie,chrome,firefox各个driver安装和使用之Firefox

web driver下载地址(selenium-3.141_浏览器版本对应)

web driver下载地址(selenium-3.141_浏览器版本对应)