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, "//button[text()='登录']")(功能最强大,可定位复杂元素)

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()
相关推荐
程序员杰哥2 小时前
Python+requests+excel 接口自动化测试框架
自动化测试·软件测试·python·测试工具·测试用例·excel·接口测试
介一安全2 小时前
【Web安全】JWT常见安全漏洞总结
测试工具·安全·web安全·安全性测试
我的xiaodoujiao15 小时前
API 接口自动化测试详细图文教程学习系列20--结合Pytest框架使用
python·学习·测试工具·pytest
测试秃头怪21 小时前
接口测试与常用接口测试工具详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
Wpa.wk21 小时前
Allure工具 -Allure安装和执行命令
经验分享·测试工具
测试员周周1 天前
【AI测试路线图2】功能测试转 AI 测试:4~5 个月,一条最稳的路
开发语言·人工智能·python·功能测试·测试工具·单元测试·pytest
我的xiaodoujiao1 天前
API 接口自动化测试详细图文教程学习系列19--添加封装其他的方法
开发语言·python·学习·测试工具·pytest
Kingairy1 天前
主流AI 七层关系:Token→提示词→上下文→Agent→Harness→MCP→Skills
人工智能·测试工具