Python Selenium 驱动下载与配置使用(详细流程)

简介: Python Selenium 驱动下载与配置使用(详细流程)

1、安装

$ pip install selenium

2、下载浏览器驱动(webdriver

  • 根据自己的操作系统下载相对应的驱动,webdriver 需要和对应的浏览器版本以及 selenium 版本对应。
  • 例如当前电脑 Chrome 版本为 版本 107.0.5304.110(正式版本) (arm64),重点只需要看 107.0 后面的小版本号不需要管,打开 Chrome浏览器驱动(chromedriver ) 找到 107.0 开头的下载就行,选这个开头最新的那个。
  • 本来以为下载大于107.0的版本(例如108.0、109.x)高版本会向下兼容,结果报错This version of ChromeDriver only supports Chrome version 108
  • 安装路径下载驱动后解压出来得到驱动可执行文件,不要运行,放到指定目录:
  • Windows:复制 webdriverPython 安装路径的根目录下即可。
  • Mac:复制 webdriver/usr/local/bin/usr/bin 目录下,看有哪个目录。
  • 如果实在不清楚放哪里,但是想使用,那就随便找个文件夹一丢,通过自定义路径导入使用就行,比如项目根目录,直接通过路径访问驱动使用。

3、使用

# 导入
from selenium import webdriver
# 如果需要指定路径,但是路径在新版本中被重构到 Service 函数中了
# from selenium.webdriver.chrome.service import Service
# 延时器
from time import sleep
# 1、浏览器驱动路径
# win_path = 'chromedriver.exe'
# mac_path = 'chromedriver'
# 2、直接传入字符串路径报错:DeprecationWarning: executable_path has been deprecated, please pass in a Service object
# 原因是这种写法将放弃使用
# driver = webdriver.Chrome(mac_path)
# 2、需要使用 Service 进行包裹一下【推荐】
# options = webdriver.ChromeOptions()
# options.add_experimental_option('detach', True) # 不自动关闭浏览器
# service = Service(mac_path)
# driver = webdriver.Chrome(service=service, options=options)
# 创建浏览器驱动对象, 以下为创建不同浏览器驱动对象
options = webdriver.ChromeOptions()
options.add_experimental_option('detach', True) # 不自动关闭浏览
driver = webdriver.Chrome(options=options)    # Chrome浏览器
# driver = webdriver.Firefox()   # Firefox浏览器
# driver = webdriver.Edge()      # Edge浏览器
# driver = webdriver.Ie()        # Internet Explorer浏览器
# driver = webdriver.Opera()     # Opera浏览器
# driver = webdriver.PhantomJS()   # PhantomJS,无界面浏览器看上面 Chrome handless 文章
# 打开指定网址
driver.get('https://www.baidu.com')
# 休眠5秒
sleep(5)
# 关闭浏览器驱动对象
driver.quit()
相关文章
|
2月前
|
安全 编译器 开发者
Python语言的配置解释器
Python语言的配置解释器
|
20天前
|
数据采集 机器学习/深度学习 数据可视化
数据科学项目实战:完整的Python数据分析流程案例解析
【4月更文挑战第12天】本文以Python为例,展示了数据分析的完整流程:从CSV文件加载数据,执行预处理(处理缺失值和异常值),进行数据探索(可视化和统计分析),选择并训练线性回归模型,评估模型性能,以及结果解释与可视化。每个步骤都包含相关代码示例,强调了数据科学项目中理论与实践的结合。
|
2天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 机器学习入门:基础概念与流程
【4月更文挑战第30天】本文介绍了Python在机器学习中的重要性,机器学习的基础概念和分类,包括监督学习、非监督学习和强化学习。Python因其丰富的库(如Scikit-learn、TensorFlow、PyTorch)、简单易学的语法和跨平台性在机器学习领域广泛应用。文章还概述了机器学习的基本流程,包括数据收集、预处理、特征工程、模型训练与评估等,并列举了常用的Python机器学习算法,如线性回归、逻辑回归、决策树和支持向量机。最后,讨论了Python机器学习在金融、医疗、工业和商业等领域的应用,鼓励读者深入学习并实践这一技术。
|
8天前
|
运维 Shell Python
第四章 Python运算符与流程控制
第四章 Python运算符与流程控制
|
10天前
|
前端开发 测试技术 C++
Python自动化测试面试:unittest、pytest与Selenium详解
【4月更文挑战第19天】本文聚焦Python自动化测试面试,重点讨论unittest、pytest和Selenium三大框架。unittest涉及断言、TestSuite和覆盖率报告;易错点包括测试代码冗余和异常处理。pytest涵盖fixtures、参数化测试和插件系统,要注意避免过度依赖unittest特性。Selenium的核心是WebDriver操作、等待策略和测试报告生成,强调智能等待和元素定位策略。掌握这些关键点将有助于提升面试表现。
22 0
|
14天前
|
存储 API Python
python之代理ip的配置与调试
python之代理ip的配置与调试
|
14天前
|
程序员 索引 Python
Python 流程控制
Python 流程控制
23 0
|
15天前
|
Python
Python流程控制
Python流程控制
|
19天前
|
Web App开发 测试技术 网络安全
|
20天前
|
开发者 Python
Python中使用`requests`库进行文件上传与下载的技术详解
【4月更文挑战第12天】在Python的网络编程中,文件上传和下载是常见的需求。`requests`库作为一个强大且易用的HTTP客户端,为我们提供了简便的文件上传和下载功能。本文将详细介绍如何在Python中使用`requests`库进行文件上传和下载。