📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
Python自动化测试领域有个“大哥大”,就是 Selenium 。它就像是给程序装上了一双眼睛和一双手,能帮我们在浏览器里点点点、输入框里敲敲敲。不管是测试网页功能,还是爬取一些数据,都能派上用场。写几行代码就能让浏览器自己动起来,想想就觉得很酷。不过很多小伙伴一上手就被各种配置和代码搞得晕头转向,今天我就带大家一步步上手Selenium。
1. 环境配置咋整
安装Selenium超简单,pip一条命令搞定:
pip install selenium
不过光装这个不够,还得装个浏览器驱动。Chrome浏览器就要装ChromeDriver,Firefox就要装GeckoDriver。驱动版本要跟浏览器版本匹配,不然会报错。
温馨提示:驱动下载完记得把路径加到环境变量里,要不代码里还得写一堆配置,麻烦死了。
2. 浏览器自动化基础操作
来看看怎么让浏览器自己动起来:
from selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
browser = webdriver.Chrome()
# 打开网页
browser.get('https://www.python.org')
# 找到搜索框
search_box = browser.find_element(By.NAME, 'q')
# 输入内容
search_box.send_keys('python')
# 点击搜索按钮
search_box.submit()
这段代码就能自动打开Python官网,在搜索框输入“python”,然后点击搜索。是不是很神奇?

3. 定位元素有绝招
网页上的元素多着呢,咋找到我们想要的那个?Selenium给我们准备了好几种定位方式:
# ID定位
element = browser.find_element(By.ID, 'id名')
# 类名定位
element = browser.find_element(By.CLASS_NAME, '类名')
# XPath定位
element = browser.find_element(By.XPATH, '//div[@class=“某个类名”]')
温馨提示:要是找不到元素,程序会报NoSuchElementException错误。建议加个try-except,程序能继续跑。
4. 等待也是门学问
网页加载需要时间,要是等不及就去找元素,肯定找不着。Selenium提供了两种等待方式:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 显式等待
element = WebDriverWait(browser, 10).until(
EC.presence_of_element_located((By.ID, '某个ID'))
)
# 隐式等待
browser.implicitly_wait(10)
显式等待就像守株待兔,等到元素出现才继续。隐式等待是全局设置,找不到元素就等着。

5. 玩转网页交互
光找到元素不够,还得跟它互动:
# 点击
element.click()
# 输入文字
element.send_keys('要输入的内容')
# 清空输入
element.clear()
# 获取文本
text = element.text
要是遇到弹窗,也不用慌:
# 切换到弹窗
alert = browser.switch_to.alert
# 点确定
alert.accept()
# 点取消
alert.dismiss()
页面上还有啥iframe、新窗口神马的,都能搞定。不过这些操作用多了就会发现,网页交互最大的敌人就是各种等待和超时,调试起来特别烦人。
做自动化测试,重要的是要有耐心,遇到问题别急着换方案,先想想是不是时机还不对。代码写得再好,也架不住网络卡顿和页面加载慢,该等的时候还是得等。
推荐把常用的操作封装成函数,代码更清晰,复用起来也方便。比如等待元素出现这种操作,写个函数包起来,下次直接调用。
搞定这些基础操作,差不多就能开始写一些简单的自动化测试脚本了。要是想再深入点,可以研究下PageObject模式,把页面操作都封装起来,代码结构会更清晰。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】




被折叠的 条评论
为什么被折叠?



