Selenium教程05:使用webdriver-manager自动下载浏览器驱动,再也不用担心driver版本的问题了

发布时间:2024年01月03日

WebDriverManager是一个用于管理Web驱动程序的工具,主要用于自动化测试领域。在进行 Selenium 测试时,需要一个与浏览器相匹配的 Web 驱动程序,以便控制和操作浏览器。WebDriverManager可以自动下载和管理浏览器驱动程序,会自动检测本地系统中安装的浏览器,并下载对应的浏览器驱动程序(如ChromeDriver、FirefoxDriver等)。这避免了手动下载和配置驱动程序的繁琐过程,提高了自动化测试的效率和稳定性,以便在自动化测试中使用这些浏览器。

模块的安装命令

pip install webdriver_manager

1.下载谷歌驱动到指定new_path目录中,并验证驱动是否可用,如果能够打开百度网页,说明驱动可用,安装成功。selenium 4.+版本以上的写法,这里主要演示selenium 4.+新版本+谷歌驱动的用法,旧版本或其他类型的浏览器,自己照着套一下相关代码。

# @Author : 小红牛
# 微信公众号:WdPython
# selenium 4.+
import shutil
from webdriver_manager.chrome import ChromeDriverManager

from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService

# 1.使用ChromeDriverManager安装ChromeDriver,并返回驱动程序的路径
driver_path = ChromeDriverManager().install()
# 打印驱动程序路径
print(driver_path)
# C:\Users\Ms-xiao\.wdm\drivers\chromedriver\win64\120.0.6099.109\chromedriver-win32/chromedriver.exe
new_path = 'D:/Wdpython/driver/'
# 2.把下载的驱动文件,复制到指定位置
shutil.copy(driver_path, new_path)
# 3.验证一下安装好的驱动,是否可用
driver = webdriver.Chrome(service=ChromeService(new_path + 'chromedriver.exe'))
# 打开百度网页
driver.get('https://www.baidu.com')
 Selenium4.0以下版本使用方法
# Selenium4.0以下版本使用该方法
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

# 使用 ChromeDriverManager 安装 ChromeDriver,并返回驱动程序的路径
driver_path = ChromeDriverManager().install()
# 打印驱动程序路径
print(driver_path)

# 创建 Chrome WebDriver,并指定驱动路径
driver = webdriver.Chrome(executable_path=driver_path)
# 打开百度网页
driver.get("https://www.baidu.com")

2.其他浏览器驱动的下载方法

from webdriver_manager.firefox import GeckoDriverManager
from webdriver_manager.microsoft import IEDriverManager
from webdriver_manager.microsoft import EdgeChromiumDriverManager
from webdriver_manager.opera import OperaDriverManager
# 1.火狐FireFox
GeckoDriverManager().install()
# 2.微软IE
IEDriverManager().install()
# 3.微软Edge
EdgeChromiumDriverManager().install()
# 4.欧朋opera
OperaDriverManager().install()

3.关于自动化测试是否带上路径说明。

在下面代码中webdriver.Chrome创建driver对象时,带了一个指定的驱动路径,这种写法也没有错。是否带,取决于chromedriver.exe的所在位置。

new_path = 'D:/Wdpython/driver/'
driver = webdriver.Chrome(service=ChromeService(new_path + 'chromedriver.exe'))

如果chromedriver.exe在某个文件中,或者哪个cdfe盘符中,就需要带个指定的路径。如果不带,驱动无法启动,就有报错提示。如果你不想带,可以这样处理,只需要把chromedriver.exe放在外面来,和项目文件夹同一目录,如下图所示。然后写代码就可以简写为以下了,它会默认检测到路径的。具体用那种方式看你个人的习惯喜好。

driver = webdriver.Chrome()

在这里插入图片描述
完毕!!感谢您的收看

----------★★历史博文集合★★----------
我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具
在这里插入图片描述

文章来源:https://blog.csdn.net/gxz888/article/details/135324353
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。