新手如何快速掌握自动化测试?是不是很多零基础的朋友想学 Selenium 做自动化测试,却被 “环境搭建”“元素定位” 这些词吓退?看教程时觉得懂了,自己动手却连浏览器都启动不了?别着急,今天兔子哥就带大家用 Python 学 Selenium,从零基础入门到实战案例,全是新手能看懂的内容,保证你学完能写出简单的自动化测试脚本,一起往下看吧!
一、环境搭建:这三步搞定入门准备
学 Selenium 前,得先把环境搭好,很多新手第一步就卡在这里。其实不难,跟着这三步走,保证一次成功。
第一步,装 Python。去 Python 官网下载最新版本,安装时记得勾选 “Add Python to PATH”,不然后面输命令会找不到。安装完打开 cmd,输 “python --version”,能看到版本号就说明装好了。兔子哥见过好多人漏勾这个选项,结果折腾半天命令行报错,大家可别犯这个错。
第二步,装 Selenium 库。打开 cmd,输 “pip install selenium”,回车等着就行。pip 是 Python 自带的工具,能自动下载安装。如果速度慢,加个国内镜像,比如 “pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple”,快很多。
第三步,下浏览器驱动。Selenium 得靠驱动控制浏览器,不同浏览器驱动不一样:
- 用 Chrome 就下 ChromeDriver,注意驱动版本要和浏览器版本对应,比如浏览器是 120 版,驱动也得下 120 版;
- 用 Edge 就下 EdgeDriver,同样看版本;
- 下完把驱动放 Python 安装目录,或者加到系统 PATH 里,这样脚本里不用写路径。
给大家列个表格,对比新手常犯的环境错误:
| 错误情况 | 原因 | 解决办法 |
|---|---|---|
| 输 “python” 提示不是内部命令 | 没勾 Add Python to PATH | 重新安装勾选选项,或手动添加环境变量 |
| 提示 “no module named selenium” | 没装 Selenium 库 | 重新执行 pip install selenium |
| 启动浏览器报错 “driver not found” | 驱动没放对位置或版本不对 | 核对驱动版本,放到 Python 目录或 PATH 里 |
二、基础语法:这几个操作必须会
环境搭好了,来学几个最基础的操作,这些是自动化测试的 “基本功”。
首先是启动浏览器。用 Selenium 的 webdriver 模块,代码很简单:
`from selenium import webdriver
启动 Chrome 浏览器
driver = webdriver.Chrome()
打开百度
driver.get("https://www.baidu.com")`
运行这段代码,会自动打开 Chrome,跳转到百度首页,是不是很神奇?
然后是元素定位,这是自动化的核心,就是告诉脚本 “点哪个按钮、填哪个输入框”。常用的定位方法有这几个:
| 定位方法 | 语法例子 | 适用场景 |
|---|---|---|
| ID 定位 | driver.find_element(By.ID, "kw") | 元素有唯一 ID 时,最常用也最稳定 |
| 名称定位 | driver.find_element(By.NAME, "wd") | 元素有 name 属性时用 |
| 类名定位 | driver.find_element(By.CLASS_NAME, "s_ipt") | 用 class 属性定位,注意 class 可能重复 |
| XPath 定位 | driver.find_element(By.XPATH, '//*[@id="kw"]') | 万能定位,复杂元素也能找 |
比如在百度首页定位搜索框,它的 ID 是 “kw”,用 ID 定位最方便:
`search_box = driver.find_element (By.ID,"kw")
输入内容
search_box.send_keys ("Selenium 教程")
再定位搜索按钮,ID是“su”,点击它:search_btn = driver.find_element (By.ID, "su")search_btn.click ()`
这样就完成了自动搜索,整个过程不用手动操作。
三、实战案例:百度搜索自动化测试
光看语法没意思,来做个实战案例 —— 百度搜索自动化测试,步骤详细,跟着写就能跑通。
完整代码和步骤:
- 导入需要的模块:
from selenium import webdriver from selenium.webdriver.common.by import By import time - 启动浏览器并打开百度:
`driver = webdriver.Chrome ()
driver.get ("https://www.baidu.com")
最大化窗口
driver.maximize_window()
等 2 秒,让页面加载完
time.sleep(2)
3. 定位搜索框并输入内容:search_box = driver.find_element (By.ID, "kw")search_box.send_keys ("Python Selenium 教程")
time.sleep (1)
4. 点击搜索按钮:search_btn = driver.find_element (By.ID, "su")search_btn.click ()
time.sleep (3) # 等搜索结果加载
5. 检查是否搜索成功(简单判断标题):if "Python Selenium 教程" in driver.title:print ("搜索测试成功!")
else:
print ("搜索测试失败!")
6. 关闭浏览器:driver.quit()`运行这段代码,会自动完成打开百度、输入搜索词、点击搜索的全过程,最后还会告诉你测试结果。新手可以试着改搜索词,看看能不能成功,这样能更快熟悉语法。
四、常见问题:脚本跑不起来?这样解决
新手写脚本,总会遇到各种问题,这几个高频问题帮你提前避坑。
问:启动浏览器后马上关闭,脚本没反应?
答:多半是没加等待时间,浏览器启动后代码直接执行完了。在 driver.quit () 前加 time.sleep (5),或者用隐式等待 driver.implicitly_wait (10),让脚本等一会儿。
问:元素定位不到,提示 “no such element”?
答:先检查定位方法对不对,比如 ID 是不是写错了;再看看是不是页面没加载完就定位,加 time.sleep 等页面加载;如果是动态加载的元素,可能需要用显式等待,这个后面再学。
问:输入内容或点击没反应?
答:可能元素被其他东西挡住了,试试滚动到元素位置:driver.execute_script ("arguments [0].scrollIntoView ();", element);或者用 ActionChains 模拟鼠标操作,不过新手先掌握基础方法就行。
兔子哥自己刚开始学的时候,总因为驱动版本不对报错,后来每次下驱动前都先查浏览器版本,就再没出过这问题。其实自动化测试不难,关键是多练,遇到报错别慌,复制错误信息搜一搜,大部分问题都有现成答案。
平时练习时,别一开始就想写复杂脚本,从简单的打开网页、点击按钮开始,慢慢加功能。比如给百度搜索脚本加个截图功能,用 driver.save_screenshot ("result.png"),测试完能看到截图,更有成就感。
最后想说,零基础学 Selenium 用 Python 真的很合适,Python 语法简单,Selenium 文档也全,只要跟着案例多写多练,很快就能上手。自动化测试能帮你节省大量重复工作,学会了不管是做测试还是开发,都很有用。希望这篇教程能帮到你,动手试试吧,你会发现自动化测试其实很有趣!
标签: pypi.tuna.tsinghua.edu.cn ChromeDriver
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
评论列表
Python零基础Selenium实战好教程