杰瑞科技汇

Selenium Python视频怎么学?从入门到实战?

Selenium + Python 学习路线图

第一阶段:基础准备

在开始学习 Selenium 之前,你需要掌握一些 Python 的基础知识。

Selenium Python视频怎么学?从入门到实战?-图1
(图片来源网络,侵删)
  1. Python 基础
    • 变量、数据类型、循环、条件判断、函数、类与对象、模块、文件操作。
    • 为什么重要:Selenium 只是一个工具,你需要用 Python 来编写控制逻辑、处理数据和组织代码,没有扎实的 Python 基础,后续学习会非常困难。
    • 学习资源
      • 视频:B站搜索“Python入门”,有很多免费且优质的教程,如“黑马程序员Python入门”、“尚硅谷Python快速上手”等。
      • 文档Python官方文档

第二阶段:Selenium 核心入门

这是学习 Selenium 的核心阶段,重点是掌握如何驱动浏览器进行基本操作。

  1. 环境搭建

    • 安装 Selenium 库pip install selenium
    • 下载浏览器驱动
      • Chrome: 下载 ChromeDriver,确保版本与你的 Chrome 浏览器版本匹配。
      • Firefox: 下载 GeckoDriver
      • 注意:驱动程序需要放在 Python 的环境变量路径下,或者通过代码明确指定其路径。
  2. 核心概念与 API

    • WebDriver:Selenium 的核心,是自动化脚本的“司机”,负责与浏览器通信。
    • 元素定位:这是自动化测试的基石,你需要学会如何找到页面上的元素。
      • find_element(By.ID, "id_value")
      • find_element(By.NAME, "name_value")
      • find_element(By.CLASS_NAME, "class_value")
      • find_element(By.TAG_NAME, "tag_value")
      • find_element(By.LINK_TEXT, "link_text")
      • find_element(By.PARTIAL_LINK_TEXT, "partial_text")
      • find_element(By.XPATH, "xpath_expression") - 非常强大,必须掌握
      • find_element(By.CSS_SELECTOR, "css_selector") - 非常高效,必须掌握
    • 浏览器操作
      • driver.get("url") - 打开网页
      • driver.maximize_window() - 最大化窗口
      • driver.back(), driver.forward(), driver.refresh() - 前进、后退、刷新
      • driver.title, driver.current_url - 获取页面标题和 URL
      • driver.quit() - 关闭浏览器并释放资源
    • 元素交互
      • element.send_keys("text") - 输入文本
      • element.click() - 点击
      • element.clear() - 清空输入框
      • element.text - 获取元素的文本内容
      • element.get_attribute("attr_name") - 获取元素属性
    • 等待机制非常重要!
      • 强制等待time.sleep(5) - 不推荐,效率低。
      • 隐式等待driver.implicitly_wait(10) - 全局等待,设置一次后对后续所有 find_element 生效。
      • 显式等待WebDriverWait(driver, 10).until(...) - 针对特定元素等待,最灵活、最推荐的方式。

第三阶段:Selenium 进阶与实战

掌握了基础后,你需要学习更复杂的场景和技巧。

Selenium Python视频怎么学?从入门到实战?-图2
(图片来源网络,侵删)
  1. 处理弹窗与多窗口

    • 处理 alert, confirm, prompt 弹框。
    • 处理多标签页 (driver.window_handles) 和多窗口。
  2. 处理 iframe 框架

    • 当元素在 iframe 内时,必须先 driver.switch_to.frame("frame_id_or_name") 切换进去,操作完后切回 driver.switch_to.default_content()
  3. 文件上传

    • 处理两种上传方式:
      • 普通 <input type="file"> 元素:直接 send_keys 文件路径。
      • 非 input 元素(如 Flash/JS 上传):需要借助第三方工具如 AutoItpywinauto
  4. 执行 JavaScript

    Selenium Python视频怎么学?从入门到实战?-图3
    (图片来源网络,侵删)
    • driver.execute_script("js_code") - 可以执行任意 JS 代码,非常强大,可以用来操作滚动条、隐藏元素等。
  5. 无头模式

    • 在不打开浏览器界面的情况下运行脚本,适合在服务器上运行。options.add_argument("--headless")
  6. 截图

    • driver.save_screenshot("path/to/screenshot.png") - 用于调试和失败时记录。

第四阶段:实战项目(检验学习成果)

理论学得再多,不如亲手做一个项目。

  1. Web 自动化测试脚本

    • 目标:为一个网站(如注册、登录页面)编写自动化测试用例。
    • 技术点:元素定位、元素交互、断言 (assert)、测试报告生成(如 Allure)。
    • 流程:打开页面 -> 定位用户名/密码输入框 -> 输入数据 -> 点击登录 -> 断言登录成功(如检查 URL 或欢迎语是否存在)。
  2. 电商网站商品信息爬虫

    • 目标:爬取某个电商网站(如京东、淘宝)的商品名称、价格、评论数。
    • 技术点:翻页处理、动态数据加载(可能需要滚动页面或分析 API)、数据存储(存入 CSV、Excel 或数据库)。
    • 流程:打开商品列表页 -> 循环遍历商品 -> 定位并提取信息 -> 点击下一页或处理 "加载更多" -> 存储数据。
  3. 自动化登录与数据填报

    • 目标:每天自动登录某个系统(如公司内部系统、学校系统),并填写日报或签到表单。
    • 技术点:Cookie 处理(实现免登录)、表单填写、提交按钮点击。

优质学习资源推荐

视频教程

  1. Bilibili (B站) - 首选免费资源

    • 搜索关键词Selenium Python, selenium 教程, selenium 自动化测试, selenium 爬虫
    • 推荐 UP主/系列
      • 黑马程序员:有非常系统化的 Selenium 自动化测试课程,从零开始,非常详细。
      • 尚硅谷:课程质量高,讲解清晰,同样有 Selenium 相关的优质教程。
      • 狂神说:风格比较活泼,适合喜欢轻松学习氛围的初学者。
      • 个人 UP主:搜索 "codeAllen" 等,也有很多高质量的实战教程。
  2. YouTube

    • 搜索关键词Selenium Python Tutorial, Web Scraping with Selenium Python
    • 优点:英文资源,可以锻炼听力,很多国际知名的技术博主(如 Tech With Tim, freeCodeCamp.org)都有相关教程。

文档与书籍

  1. 官方文档 (必看)

  2. 书籍

    • 《Python 自动化测试与开发实战》:这本书比较系统地介绍了 Selenium 在测试领域的应用。
    • 《Python 网络数据采集》:本书作者是 Ryan Mitchell,虽然主要讲 RequestsBeautifulSoup,但其中也有一章专门讲解 Selenium,是爬虫领域的经典之作。

社区与博客

  • Stack Overflow:遇到问题时,把错误信息和代码片段放上去搜索,大概率能找到答案。
  • CSDN、掘金、知乎:国内开发者社区,有大量关于 Selenium 的实战经验和踩坑总结。

学习建议

  1. 动手 > 看视频:看 10 小时视频,不如自己动手写 1 小时代码,代码是敲出来的,不是看出来的。
  2. 学会使用浏览器开发者工具 (F12):这是定位元素和分析网页结构的“神器”,Elements 面板可以帮你快速找到元素的 XPath 和 CSS Selector。
  3. 从简单开始:不要一开始就挑战复杂项目,先从一个简单的页面(如百度首页)开始,练习定位元素、输入文字、点击按钮。
  4. 学会调试:使用 print() 语句或 IDE 的调试功能,观察每一步代码的执行情况和变量的值,这是解决问题的关键。
  5. 拥抱错误:学习过程中会遇到各种报错(NoSuchElementException, ElementNotInteractableException 等),不要害怕,每个错误都是一次学习机会,学会分析错误信息并解决它。

祝你学习顺利,早日成为 Selenium 高手!

分享:
扫描分享到社交APP
上一篇
下一篇