Selenium常用方法

在 Selenium 自动化测试中,常用方法主要围绕浏览器控制元素定位元素操作 以及等待机制这四大核心模块展开。

浏览器控制方法

主要用于控制浏览器的基本行为和获取页面信息。

方法 功能说明
driver.get(url) 打开指定的网页 URL
driver.maximize_window() 最大化浏览器窗口
driver.refresh() 刷新当前页面
driver.back() / forward() 模拟浏览器的后退与前进
driver.quit() 关闭浏览器并退出 WebDriver 会话
driver.title / current_url 获取当前页面的标题与 URL

元素定位方法

Selenium 提供了多种方式来精准定位页面上的元素(推荐使用 By 类进行定位):

ID 定位:driver.find_element(By.ID, "username")(最常用,速度最快)

Name 定位:driver.find_element(By.NAME, "password")

XPath 定位:driver.find_element(By.XPATH, "//buttontext()='登录'")(功能最强大,可定位复杂元素)

CSS 选择器:driver.find_element(By.CSS_SELECTOR, ".btn-primary")(语法简洁,定位速度快)

链接文本定位:driver.find_element(By.LINK_TEXT, "立即注册")

元素常用操作方法

定位到元素后,可以对元素对象进行以下交互:

输入文本:element.send_keys("自动化测试")(常用于输入框)

点击元素:element.click()(常用于按钮、链接、复选框)

清空内容:element.clear()(输入前先清空,避免默认文本干扰)

获取文本:text = element.text(获取元素的可见文本内容)

获取属性:href = element.get_attribute("href")(获取元素的指定属性值)

状态判断:

element.is_displayed():判断元素是否可见

element.is_enabled():判断元素是否可用(未被禁用)

等待机制方法

为了防止页面加载过慢导致找不到元素报错,等待机制至关重要:

隐式等待:driver.implicitly_wait(10)。全局设置,在查找元素时如果未找到,会默认等待指定的秒数。

显式等待(推荐使用):配合 WebDriverWait 和 expected_conditions,可以精准等待某个条件成立(如元素可见、元素可点击)再继续执行。

综合代码示例

将上述常用方法串联起来,形成一个完整的百度搜索流程:

python 复制代码
`# 1. 启动浏览器
driver = webdriver.Chrome()

try:
    # 2. 浏览器控制:打开网页并最大化
    driver.get("https://www.baidu.com")
    driver.maximize_window()
    
    # 3. 等待机制:显式等待搜索框加载完成(最多等10秒)
    search_box = WebDriverWait(driver, 10).until(
     # 等待并检查 ID 为 kw 的网页元素是否已经加载到了页面的 DOM(文档对象模型)结构中。
        EC.presence_of_element_located((By.ID, "kw"))
    )
    
    # 4. 元素操作:清空、输入文本
    search_box.clear()
    search_box.send_keys("Selenium 常用方法")
    
    # 5. 元素定位与点击:定位搜索按钮并点击
    search_button = driver.find_element(By.ID, "su")
    search_button.click()
    
    # 6. 获取信息:打印当前页面的标题和URL
    print(f"当前页面标题:{driver.title}")
    print(f"当前页面URL:{driver.current_url}")

finally:
    # 7. 退出浏览器
    driver.quit()
相关推荐
程序员小远13 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
LT101579744413 天前
2026年Web自动化测试工具选型指南:多浏览器兼容解决方案
前端·测试工具·自动化
程序员三藏14 天前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
深蓝电商API14 天前
Selenium 5.0 全新架构解析:值得升级吗?
爬虫·selenium
专业机床数据采集14 天前
基于 Wireshark 抓包逆向设备通信协议,并用 C# UDP协议跨平台 实现宝元数控程序列表读取、上传、下载和删除
网络·测试工具·wireshark·程序传输·宝元数控·dnc·数控程序传输
程序员龙叔14 天前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
Saniffer_SH14 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
川石课堂软件测试14 天前
APP自动化测试|高级手势操作&toast操作
css·功能测试·测试工具·microsoft·fiddler·单元测试·harmonyos
LT101579744414 天前
2026年开源自动化测试工具选型指南:功能与适用场景解析
测试工具·开源·自动化