当前位置:网站首页>嘿!selenium自动下载driver版本,得知道一下
嘿!selenium自动下载driver版本,得知道一下
2022-08-03 05:26:00 【IT界的测试混子】
闲来无事研究下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
- 例子:
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啦~~ 真棒。大家可以试下把浏览器升级再跑一遍。

另外webdriver-manager 支持selenium3.0、selenium4.0
具体可以看github上的说明
https://github.com/SergeyPirogov/webdriver_manager
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()
边栏推荐
- 二分查找4 - 搜索旋转排序数组
- How the world's leading medical technology company maximizes design productivity | SOLIDWORKS Product Exploration
- 数组与字符串13-两数之和等于目标数
- 电子元器件和电子元件的区别有那些?
- 3D游戏建模师在国内的真实现状,想转行,先来看看!
- 【C语言】关于数组传参问题/首地址
- SolidWorks 操作视频 | 隐藏高手必备工具Defeature,让设计隐藏更彻底
- BurpSuite 进阶玩法
- 设备树(devicetree)-dts语法
- 零基础小白想往游戏建模方向发展,3D游戏建模好学嘛?
猜你喜欢
随机推荐
八、抽象类的接口的区别
Phase Vocoder的补充完善,Matlab音频变速不变调、变调不变速
新手学习3DMAX游戏建模,该如何锻炼思维?请看下面
二分查找5 - 第一个错误的版本
MATLAB给多组条形图添加误差棒
稳压二极管的工作原理及稳压二极管使用电路图
VS2022 encapsulation under Windows dynamic library and dynamic library calls
零基础小白想往游戏建模方向发展,3D游戏建模好学嘛?
Dynamic adjustment of web theme (2) Extraction
二分查找3 - 猜数字大小
常见的电容器有哪些?唯样商城
2021-04-30
802.1AS的BMCA(最佳主时钟选举)理解
看了都收藏的3D游戏建模全流程解析,角色模型就该这么做!
电子元器件和电子元件的区别有那些?
数组与字符串13-两数之和等于目标数
A.1#【内存管理】——1.1.3 page: struct page
MySql【后面附有练习题】
BurpSuite 进阶玩法
window下VS2022封装动态库以及调用动态库









