刚接触自动化测试的朋友,是不是一听到 “Selenium” 就头大?网上搜教程要么全是专业术语,看半天不知道在说啥;要么环境搭建步骤写得含糊,跟着操作到一半就报错;好不容易把环境弄好,想定位个按钮却怎么也找不到元素,急得直拍桌子?别慌,今天兔子哥就带零基础的小伙伴走一遍 Selenium 入门全流程,从最基础的环境搭建讲到核心的元素定位,全是白话实操,跟着学保准能上手。
一、Selenium 环境搭好其实不难,这几步照着做就行
很多新手卡在第一步 —— 环境搭建,其实按顺序来一点都不复杂。首先你得装个 Python,建议选 3.8 以上版本,官网下载后一路点 “下一步”,记得勾选 “Add Python to PATH”,不然后面 cmd 里敲命令会找不到。
然后装 Selenium 库,打开 cmd 输入 “pip install selenium”,回车等着就行。这时候可能会遇到下载慢的问题,加个国内镜像源就快了,比如 “pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple”,亲测好用。
最后是浏览器驱动,这步最容易出错。你常用 Chrome 就下 ChromeDriver,版本得和浏览器版本对应,比如浏览器是 114 版,驱动就找 114 开头的。下完后别随便放,要么放 Python 安装目录,要么把存放路径加到环境变量里。有朋友说驱动放桌面也行,不过兔子哥试过偶尔会报错,或许暗示规范存放能减少麻烦?
二、元素定位是核心,这 3 个方法新手先掌握
环境搭好就能开始写代码了,Selenium 最核心的就是定位元素,比如按钮、输入框这些。新手先记这三个方法,够用一阵子:
第一个是 ID 定位,用 “find_element (By.ID, 'id 值 ')”。网页里很多元素都有 ID,而且一般是唯一的,比如登录按钮可能叫 “submitBtn”,直接用 ID 定位又快又准。
第二个是 XPath 定位,这个稍微复杂点但万能。右键网页元素点 “检查”,在 Elements 面板里右键元素选 “Copy XPath” 就能直接用。不过要注意,动态加载的元素 XPath 可能会变,刷新页面后可能就得重新复制。
第三个是 CSS 选择器,和 XPath 类似但语法简单点。比如定位 class 为 “username” 的输入框,用 “find_element (By.CSS_SELECTOR, '.username')” 就行。
不过话说回来,元素定位虽然基础,但实际操作中很容易踩坑。比如遇到 iframe 嵌套的元素,直接定位会找不到,得先切换 iframe 才行,这个后面再细讲。
三、写第一个自动化脚本,从打开网页开始
光说不练假把式,咱们写个简单脚本:打开百度,搜索 “Selenium 教程”。代码不用多,几行就行:
首先导入库:from selenium import webdriver;from selenium.webdriver.common.by import By。然后创建浏览器对象:driver = webdriver.Chrome ();接着打开百度:driver.get ("https://www.baidu.com");再定位搜索框输入内容:driver.find_element (By.ID, 'kw').send_keys ("Selenium 教程 ");最后点击搜索按钮:driver.find_element (By.ID, 'su').click ()。
运行后会自动打开 Chrome,完成搜索操作,是不是很神奇?遇到没反应的情况,先检查元素定位是否正确,再看看驱动版本对不对,大部分问题都出在这两处。
四、新手常踩的坑,提前知道能少熬夜
学 Selenium 少不了踩坑,兔子哥总结了几个新手高频问题:
一个是 “元素未找到” 报错,大概率是定位方式不对,或者元素还没加载出来就开始定位了。这时候可以加个等待:from selenium.webdriver.support.ui import WebDriverWait;wait = WebDriverWait (driver, 10),等元素出现再操作。
另一个是浏览器闪退,代码最后加一行 “input (' 按回车退出 ')”,运行完会等你按回车再关闭,方便观察效果。
还有就是处理弹窗,alert 弹窗用 “driver.switch_to.alert.accept ()” 关闭,但对于某些自定义弹窗,具体机制还需要进一步研究,新手暂时记住基础弹窗处理方法就行。
其实零基础学 Selenium 不用怕,关键是多动手敲代码,遇到问题先自己排查,实在解决不了就搜搜别人的经验。兔子哥建议从简单案例开始,比如自动登录博客、自动填写表单,练熟了再挑战复杂项目。记住,自动化测试看着高深,拆成一步步操作后,普通人也能学会。希望这篇教程能帮到刚入门的你,动手试试吧,你会发现自动化的乐趣!
标签: selenium
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~