当前位置: 首页 > news >正文

学习Python中Selenium模块的基本用法(2:下载浏览器驱动)

  WebDriver是Selenium模块最重要的组件之一,其支持通过编程接口控制浏览器行为,发送指令到浏览器驱动,实现点击、输入、导航等真实用户操作。不同的浏览器对应不同的WebDriver,参考文献8中介绍了常用浏览器的WebDriver下载和使用方式。
测试过程中首先尝试下载chrome浏览器的WebDriver,但是搜索到的参考文献5无法访问,参考文献4中的WebDriver版本与chrome最新版本号差距较大,因此无法基于chrome验证Selenium模块功能(写本文时发现参考文献8中提供的下载网页可用,且与chrome最新版本接近,有需要的可以访问参考文献9下载),最终使用火狐浏览器。
基于参考文献6下载并安装最新版本的火狐浏览器,然后在参考文献7中下载最新版本的、与操作系统相匹配的geckodriver,如下图所示,本文下载图中划红线的版本,将其解压并放在本机Python安装目录下的Scripts文件夹内(也可以放置在任意文件夹,然后在全局变量PATH中添加该路径)。

在这里插入图片描述
  打开命令行运行geckodriver --version,检查geckodriver是否能正常运行及版本号,如下图所示:
在这里插入图片描述
  最后简单验证geckodriver 是否可用,下面的测试代码基于Selenium模块使用百度搜索并打开DeepSeek官网,代码运行效果如下图所示:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time# 打开百度网址
driver = webdriver.Firefox()
driver.get("https://www.baidu.com")time.sleep(2)# 查找搜索框并输入DeepSeek官网,然后模拟按回车键
search_box = driver.find_element(By.ID, "kw")  # 百度搜索框的ID为"kw"
search_box.send_keys("DeepSeek官网")
search_box.send_keys(Keys.RETURN)time.sleep(3)# 找到第一个结果并点击跳转
first_result = driver.find_element(By.CSS_SELECTOR, "div.result:first-child h3 a")
first_result.click()

在这里插入图片描述
参考文献:
[1]https://www.selenium.dev/zh-cn/
[2]https://www.selenium.dev/zh-cn/documentation/webdriver/getting_started/
[3]https://blog.csdn.net/kk_lzvvkpj/article/details/148610502
[4]https://registry.npmmirror.com/binary.html?path=chromedriver/
[5]https://chromedriver.chromium.org/
[6]https://www.firefox.com.cn/
[7]https://github.com/mozilla/geckodriver/releases/
[8]https://www.cnblogs.com/sunisnyu/p/18442541
[9]https://googlechromelabs.github.io/chrome-for-testing/#stable

http://www.dtcms.com/a/302533.html

相关文章:

  • js的学习2
  • JavaScript:数组常用操作方法的总结表格
  • Webhook技术深度解析:从原理到实现全指南
  • Item17:以独立语句将newed对象置入智能指针
  • MDM五十万台设备高并发场景解决方案【后台管理】
  • Taro 位置相关 API 介绍
  • C# 状态机以及状态机编程模式
  • Java设计模式-通俗举例
  • 【智慧物联网平台】编译jar环境 Linux 系统Maven 安装——仙盟创梦IDE
  • Leaflet 综合案例-聚类图层控制
  • django ManyToManyField 如何添加数据
  • Django缓存机制详解:从配置到实战应用
  • MGRE 实验
  • Django 视图详解(View):处理请求与返回响应的核心
  • Linux IPC实战:管道与命名管道的进程对话术
  • 语音识别数据增强
  • llama系列
  • 1688寻源通接口接入要点||电商API接口
  • 电脑ip地址在哪里看
  • 如何提升 TCP 传输数据的性能?详解
  • 信息收集工具ARL资产侦察灯塔系统搭建教程
  • 最新的前端技术和趋势(2025)
  • STM32启动流程
  • 防水医用无人机市场报告:现状、趋势与洞察
  • 无人机喷洒系统技术要点与难点解析
  • Go性能优化深度指南:从原理到实战
  • 机器学习与深度学习评价指标
  • 实战经验总结:如何快速理解一套完整的移动端设计规范
  • 代理 ARP 的三种应用场景:端口隔离、VLAN聚合、单臂路由
  • 在 Windows 系统 下直接使用了 Linux/macOS 的环境变量设置语法 PLATFORM=android