📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
Python自动化测试领域有个超强的工具包 - Selenium。它就像个听话的机器人,帮你在浏览器里点点点、填表单、爬数据,简直不要太爽。我在用它搞自动化测试这么多年,真觉得它是 Web自动化测试 的一把好手。
安装配置
要玩转Selenium,得先把环境配好。装包很简单:
pip install selenium
还得装个WebDriver,就是浏览器的驱动程序。Chrome用户直接下载ChromeDriver就行,记得版本要跟你的Chrome对应上。
⚠️ 小贴士:
ChromeDriver版本号要跟Chrome浏览器大版本一致
把驱动放到Python安装目录或者加到环境变量PATH里
新版本Selenium直接用Service类来配置驱动路径
基础操作
写个简单的例子,体验下Selenium的魅力:
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
# 启动浏览器
driver = webdriver.Chrome()
driver.get(“https://www.python.org”)
# 找到搜索框,输入“python”
search_box = driver.find_element(By.NAME, “q”)
search_box.send_keys(“python”)
search_box.submit()
# 等待2秒看结果
time.sleep(2)
# 关闭浏览器
driver.quit()
看这代码多简单,打开Python官网,找到搜索框输入关键词,提交查询。这就是个最基础的自动化操作。
元素定位
网页元素定位特别关键,要是找不到元素啥也干不了。Selenium提供了8种定位方式:
# ID定位
element = driver.find_element(By.ID, “login”)
# NAME定位
element = driver.find_element(By.NAME, “username”)
# CLASS定位
element = driver.find_element(By.CLASS_NAME, “submit-button”)
# CSS选择器
element = driver.find_element(By.CSS_SELECTOR, “#login-form .submit”)
# XPATH定位
element = driver.find_element(By.XPATH, “//button[@type='submit']”)
⚠️ 小贴士:
ID和NAME定位最靠谱,优先用这俩
XPATH虽然灵活但性能最差,能不用就不用
找不到元素会抛NoSuchElementException异常
等待策略
网页加载需要时间,要是元素还没出来就去操作,铁定报错。看看俩常用的等待方式:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 显式等待
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, “myDynamicElement”))
)
# 隐式等待
driver.implicitly_wait(10)
element = driver.find_element(By.ID, “myDynamicElement”)
显式等待更灵活,可以设置等待条件。隐式等待作用于所有元素,用起来方便但不够精确。
操作交互
找到元素后就该动手了,点击啊、输入啊、拖拽啊,啥都能干:
# 点击操作
button = driver.find_element(By.ID, “submit”)
button.click()
# 输入文本
input_box = driver.find_element(By.NAME, “username”)
input_box.clear() # 先清空
input_box.send_keys(“猫哥”)
# 下拉框选择
from selenium.webdriver.support.select import Select
select = Select(driver.find_element(By.NAME, “dropdown”))
select.select_by_visible_text(“选项1”)
⚠️ 小贴士:
操作前最好先clear()清空输入框
click()可能会因为元素被遮挡而失败
复杂操作用ActionChains类来处理
这就是Selenium的基本用法了。干活的时候记得写好异常处理,毕竟网页千变万化,环境各不相同。掌握了这些,写个小型的自动化测试脚本不在话下。代码写得好,测试工程师也能睡得好。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】