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

Selenium 安装使用教程

一、Selenium 简介

Selenium 是一个用于 Web 应用程序自动化测试的工具,它支持多种浏览器(如 Chrome、Firefox、Edge 等)以及多种编程语言接口(如 Python、Java、C# 等)。在 Python 中,Selenium 常用于网页爬虫、自动化测试、自动化表单填写等场景。


二、安装 Selenium

2.1 安装 Selenium 包

pip install selenium

2.2 安装浏览器驱动

Selenium 依赖浏览器驱动与浏览器进行通信,需下载与你的浏览器版本匹配的驱动:

Chrome(chromedriver)
  1. 查看 Chrome 浏览器版本;
  2. 下载对应版本的 chromedriver:https://chromedriver.chromium.org/downloads;
  3. 解压后将其路径添加到系统环境变量中,或在代码中指定路径。
Edge(msedgedriver)

下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

Firefox(geckodriver)

下载地址:https://github.com/mozilla/geckodriver/releases


三、第一个 Selenium 示例(以 Chrome 为例)

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager# 启动浏览器
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))# 打开网页
driver.get("https://www.python.org")# 查找元素
search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("selenium")
search_box.submit()# 等待页面加载
driver.implicitly_wait(5)# 输出页面标题
print(driver.title)# 关闭浏览器
driver.quit()

四、常见操作

4.1 查找元素

driver.find_element(By.ID, "id")
driver.find_element(By.NAME, "name")
driver.find_element(By.XPATH, "//div[@class='class']")

4.2 页面交互

element.click()
element.send_keys("text")
element.clear()

4.3 窗口控制

driver.maximize_window()
driver.back()
driver.refresh()

4.4 等待操作

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECWebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "some_id")))

五、使用 headless(无头)模式

from selenium.webdriver.chrome.options import Optionsoptions = Options()
options.add_argument("--headless")
driver = webdriver.Chrome(options=options)

六、使用 WebDriver Manager(自动管理驱动)

pip install webdriver-manager

示例(Chrome):

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManagerdriver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

七、常见问题

Q1: 报错“WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH”?

需确保浏览器驱动位于环境变量中,或使用 webdriver-manager 自动管理驱动。

Q2: selenium.common.exceptions.NoSuchElementException?

检查元素是否真的存在,可使用 WebDriverWait 等待元素加载。


八、学习资源推荐

  • Selenium 官方文档
  • Selenium with Python 中文文档
  • webdriver-manager GitHub

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

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

相关文章:

  • Python 量化交易安装使用教程
  • 深度学习3(向量化编程+ python中实现逻辑回归)
  • 遗传算法的原理与实现示例
  • XION:玩转您的第一个智能合约
  • Seq2seq+Attention 机器翻译
  • Go中使用国家新闻出版署实名认证
  • [C++] # 深入理解C++继承:从原理到实现
  • 通过网页调用身份证阅读器http websocket方法-华视电子————仙盟创梦IDE
  • 结构型智能科技的关键可行性——信息型智能向结构型智能的转换(提纲)
  • CSS知识复习2
  • 3-1 PID算法改进(积分部分)
  • Softhub软件下载站实战开发(十二):软件管理编辑页面实现
  • 科学的第五范式:人工智能如何重塑发现之疆
  • 力扣打卡第二十一天 中后遍历+中前遍历 构造二叉树
  • 【Qt】QxORM无法删除和更改主键值为0的行,否则报错:invalid primary key
  • Docker学习笔记:Docker网络
  • DotNetBrowser 2.27.14 版本发布啦!
  • Python 制作 pyd(Windows 平台的动态链接库)
  • 力扣:70. 爬楼梯
  • [Terence Tao访谈] 无限 | 关注模型 | 矢量场 | 策略性“作弊” | Lean
  • 【Prometheus 】通过 Pushgateway 上报指标数据
  • 408第三季part1 - 操作系统 - 输入输出管理
  • pyproject.toml 有什么作用呢?
  • Java对象哈希值深度解析
  • vue/微信小程序/h5 实现react的boundary
  • 汽车功能安全概念阶段开发【相关项定义HARA】2
  • 【Mysql系列】Mysql 多级隔离级别揭秘
  • 使用Python绘制图片拆分工具
  • 风平浪静、无事发生
  • 论文解读:《DeepGray:基于灰度图像和深度学习的恶意软件分类方法》