杰瑞科技汇

Python Selenium视频该怎么学?

为什么选择 Python + Selenium?

  • Python 语法简洁:相比 Java、C#,Python 更容易上手,代码可读性高。
  • Selenium 功能强大:它是自动化测试领域的“王者”,支持所有主流浏览器(Chrome, Firefox, Edge 等)和操作系统。
  • 应用广泛:除了 Web 应用测试,它还被广泛用于网络爬虫、自动化办公、网站数据监控等场景。
  • 社区活跃:遇到任何问题,你几乎都能在 Stack Overflow、GitHub 或国内社区(如 CSDN、掘金)上找到答案。

学习路径与核心概念(图文结合)

在学习视频之前,先对整体框架有个了解,这样看视频时更有方向。

Python Selenium视频该怎么学?-图1
(图片来源网络,侵删)

环境准备与基础理论

  1. Python 环境:安装 Python,并了解 pip 包管理工具。
  2. Selenium 安装:通过 pip install selenium 安装 Selenium 库。
  3. WebDriver:这是 Selenium 的核心,它相当于一个“桥梁”,让你的 Python 代码能够控制浏览器。
    • 理解原理:你的 Python 脚本 -> Selenium 库 -> WebDriver (浏览器驱动) -> 真实的浏览器 (Chrome, Firefox...)。
    • 下载对应驱动:你需要下载与你浏览器版本匹配的 WebDriver(ChromeDriver),并将其路径配置到代码中。

核心 API 操作(视频学习的重点)

这是视频教程的核心部分,你将学习如何用代码模拟人的操作。

操作类别 核心方法 说明 视频中常见演示
浏览器控制 driver.get(url) 打开一个网页 打开百度首页
driver.maximize_window() 最大化窗口 让窗口全屏,方便观察
driver.title / driver.current_url 获取页面标题和当前URL 验证是否跳转到了正确页面
driver.quit() 关闭整个浏览器 测试结束后,必须关闭,释放资源
元素定位 find_element(By.ID, "value") 通过 ID 定位(最快) 定位百度搜索框的 id="kw"
find_element(By.NAME, "value") 通过 Name 属性定位
find_element(By.CLASS_NAME, "value") 通过 Class 属性定位 定位“新闻”链接的 class="mnav"
find_element(By.TAG_NAME, "value") 通过标签名定位 定位 <a>
find_element(By.LINK_TEXT, "value") 通过完整的链接文本定位 直接定位“新闻”这个文本
find_element(By.PARTIAL_LINK_TEXT, "value") 通过部分链接文本定位 定位“新闻”
find_element(By.XPATH, "value")** 通过 XPath 定位(最强大、最常用) 可以根据路径、属性、文本等灵活定位任何元素,是视频教程的重中之重。
find_element(By.CSS_SELECTOR, "value")** 通过 CSS 选择器定位(性能好,推荐) 和 XPath 一样强大,语法更简洁,也是视频教程的重点。
元素操作 .send_keys("文本") 在输入框中输入文本 在搜索框输入 "Selenium 教程"
.click() 点击一个元素 点击“百度一下”按钮
.clear() 清空输入框内容
.submit() 提交表单(相当于按回车)
等待机制 time.sleep(5) 强制等待(不推荐) 暂停脚本5秒,简单粗暴,但效率低,视频中会用来演示,但会强调其弊端。
WebDriverWait 显式等待(强烈推荐) 智能等待,最多等待指定时间,直到某个元素出现或可操作,超时报错,这是编写稳定脚本的必备技能,视频会重点讲解。
implicitly_wait(10) 隐式等待 全局等待,在查找元素时,如果找不到,会等待指定时间再去查找。
获取信息 .text 获取元素的可见文本 获取搜索结果的标题
.get_attribute("属性名") 获取元素的属性值 获取图片的 src 属性
.is_displayed() 判断元素是否可见
.is_enabled() 判断元素是否可用
下拉框处理 from selenium.webdriver.support.select import Select 导入 Select 类 处理生日、地区等下拉选择框
select_by_value("value") 通过 value 值选择
select_by_visible_text("文本") 通过可见文本选择
弹窗处理 driver.switch_to.alert 切换到警告弹窗 处理 alert(), confirm(), prompt() 弹出的对话框
.accept() 接受弹窗(点击“确定”)
.dismiss() 取消弹窗(点击“取消”)
多窗口/多标签页 driver.window_handles 获取所有窗口的句柄(ID)列表 处理点击链接后新开标签页的场景
driver.switch_to.window(handle) 切换到指定的窗口
iframe 框架 driver.switch_to.frame("frame_name/id") 切换到 iframe 内部 处理嵌套在 <iframe> 里的元素,这是新手常见难点,视频会专门讲解。

推荐视频学习资源

以下资源按从入门到进阶的顺序排列,并标注了特点,方便你选择。

A. 综合系统课程(适合零基础入门)

  1. Bilibili - 尚硅谷 Selenium 自动化测试教程

    • 链接:在 B 站搜索 “尚硅谷 Selenium”
    • 特点
      • 免费、系统、全面,这是国内公认最好的 Selenium 入门教程之一。
      • 讲解非常细致,从环境搭建到所有核心 API,再到项目实战,一应俱全。
      • 视频质量高,配有清晰的 PPT 和代码演示。
      • 特别适合没有任何编程或自动化基础的小白。
    • 适合人群所有初学者,强烈推荐作为第一门课程。
  2. Udemy - "Selenium WebDriver with Python - Beginner to Expert"

    Python Selenium视频该怎么学?-图2
    (图片来源网络,侵删)
    • 链接Udemy 课程链接 (通常有折扣)
    • 特点
      • 英文课程,国际化视野,讲师 Rahul Shetty 是印度著名的自动化测试专家。
      • 内容非常实用,结合了大量真实企业案例。
      • 不仅讲 Selenium,还会涉及 CI/CD、TestNG、框架设计等进阶内容。
      • 配有丰富的练习和测验。
    • 适合人群:有一定英文基础,希望从企业级应用角度学习 Selenium 的学习者。
  3. Coursera / edX - 相关专项课程

    • 链接:在平台搜索 "Software Testing" 或 "Automation"
    • 特点
      • 学术性强,体系化,通常由知名大学或公司提供。
      • 更侧重于软件测试的理论和整个生命周期,Selenium 只是其中一部分工具。
    • 适合人群:希望全面了解软件测试领域,而不仅仅是工具使用的学习者。

B. 实战与技巧类视频(适合有一定基础后)

  1. Bilibili - 各种 UP 主的实战项目

    • 搜索关键词:“Selenium 项目实战”、“Selenium 框架”、“Python 爬虫 Selenium”。
    • 特点
      • 案例驱动,很多 UP 主会带你从零开始搭建一个自动化测试框架,或者用 Selenium 写一个爬虫项目。
      • 可以学到如何组织代码、使用日志、读取配置文件、使用 pytest 等测试框架。
      • 能看到不同开发者解决问题的思路。
    • 推荐 UP 主:可以关注一些专注于测试开发的 UP 主,如“测试开发小哥”、“自动化测试教程”等,他们的内容比较新,紧跟行业趋势。
  2. YouTube - "Selenium Tips and Tricks"

    • 搜索关键词:"Selenium Python best practices", "Handle dynamic elements Selenium", "Selenium CSS Selector tutorial"。
    • 特点
      • 聚焦特定难点,很多视频专门讲解如何处理动态元素、如何写出高效的 XPath/CSS、如何进行性能优化等。
      • 英文视频,但通常时间不长,直击痛点。
    • 适合人群:在项目中遇到具体困难,需要快速解决方案的学习者。

学习建议与最佳实践

  1. 动手 > 看视频:看懂不等于会,一定要跟着视频敲代码,自己尝试修改和扩展。
  2. 从模仿到创造:初期可以 1:1 模仿视频代码,然后尝试用它去测试你自己的目标网站(如登录、发帖等)。
  3. 学会使用浏览器开发者工具 (F12):这是定位元素的“眼睛”,一定要熟练掌握:
    • Elements (元素):查看、复制元素的 XPath 和 CSS Selector。
    • Console (控制台):运行 JS 代码,调试脚本。
    • Network (网络):分析接口请求,对爬虫和性能测试很有帮助。
  4. 优先掌握显式等待和高级定位time.sleep() 是万恶之源,尽早习惯使用 WebDriverWait,XPath 和 CSS Selector 是你的“屠龙宝刀”,务必精通。
  5. 学习 Page Object Model (POM) 设计模式:当你的测试用例变多时,代码会变得难以维护,POM 是一种设计模式,它将页面元素和操作逻辑分离开,让你的代码结构更清晰、可维护性更高,很多进阶视频都会讲到这个模式。
  6. 尝试搭建自己的项目
    • 自动化测试项目:为你常用的网站(如博客园、知乎)编写一个登录、发帖、删帖的自动化脚本。
    • 小爬虫项目:用 Selenium 爬取动态加载的网站数据(如商品评论、新闻资讯),并存入 Excel 或数据库。

学习 Python + Selenium 是一个“理论 + 实践 + 持续优化”的过程。

Python Selenium视频该怎么学?-图3
(图片来源网络,侵删)
  • 入门阶段:跟着 尚硅谷 的系统视频,把环境搭好,把核心 API 过一遍,完成几个简单的网页操作。
  • 进阶阶段:通过 B站/YouTube 的实战视频,学习处理复杂场景(如 iframe、弹窗、动态元素),并开始接触 POMpytest 框架。
  • 精通阶段:在实际项目中不断应用和总结,解决各种疑难杂症,最终能够独立设计和维护一个稳定、高效的自动化测试体系。

祝你学习顺利,早日成为自动化测试高手!

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