Selenium 简单入门操作示例

最简单的 Selenium 示例(Python版)

下面是一个完整的、最简单的 Selenium 操作示例,带你快速上手:

python 复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# 1. 启动浏览器(这里使用Chrome)
driver = webdriver.Chrome()

# 2. 打开网页(以百度为例)
driver.get("https://www.baidu.com")

# 3. 找到搜索框并输入内容
search_box = driver.find_element(By.ID, "kw")  # 通过ID定位搜索框
search_box.send_keys("Selenium自动化测试")     # 输入搜索关键词

# 4. 找到搜索按钮并点击
search_button = driver.find_element(By.ID, "su")  # 通过ID定位搜索按钮
search_button.click()                            # 点击搜索

# 5. 等待3秒查看结果
time.sleep(3)

# 6. 关闭浏览器
driver.quit()

代码解析

  1. 导入必要模块

    • webdriver:Selenium的核心模块

    • By:用于指定元素定位方式

    • time:用于简单等待

  2. 启动浏览器

    • webdriver.Chrome() 会自动启动Chrome浏览器

    • 确保已安装ChromeDriver并配置好环境变量

  3. 打开网页

    • get() 方法用于打开指定URL
  4. 元素定位与操作

    • find_element(By.ID, "kw"):通过HTML元素的ID属性定位

    • send_keys():向输入框输入文本

    • click():点击元素

  5. 简单等待

    • time.sleep(3):让程序暂停3秒,方便查看结果
  6. 关闭浏览器

    • quit():关闭浏览器并退出驱动

实际运行效果

当你运行这段代码时,你会看到:

  1. 自动打开Chrome浏览器

  2. 访问百度首页

  3. 在搜索框中自动输入"Selenium自动化测试"

  4. 自动点击"百度一下"按钮

  5. 停留3秒展示搜索结果

  6. 最后自动关闭浏览器

进阶小技巧

  1. 如果找不到ChromeDriver:

    python 复制代码
    # 指定ChromeDriver路径
    driver = webdriver.Chrome(executable_path="你的chromedriver路径")
  2. 无头模式运行(不显示浏览器界面):

    python 复制代码
    from selenium.webdriver.chrome.options import Options
    
    options = Options()
    options.add_argument("--headless")  # 启用无头模式
    driver = webdriver.Chrome(options=options)
  3. 更智能的等待方式(推荐):

    python 复制代码
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    # 等待最多10秒,直到元素出现
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "kw"))
    )

这个简单示例已经包含了Selenium最核心的操作:启动浏览器、打开网页、定位元素、操作元素和关闭浏览器。你可以基于这个框架扩展更复杂的自动化测试脚本。

相关推荐
我命由我123452 小时前
SQL 检测脚本
java·数据库·sql·功能测试·单元测试·压力测试·可用性测试
goehou3 小时前
Prompt 管理实战:分层、版本与回归上线(附清单)
llm·实战·prompt·测试·工程化
狂师3 小时前
太强了!GitHub上开源了一款AI自动化测试框架,0代码搞定前后端测试!
前端·后端·测试
匠测AI说18 小时前
AI for Testing 提效实战 · 执行自动化(五):这次该跑哪些用例,让 AI 圈回归范围
人工智能·测试
stillstream_ink1 天前
‌双端电商系统的测试差异分析——别让“只测一端”漏掉80%的联动缺陷
架构·测试
狂师1 天前
2026年安全测试工具大全,15款主流工具一次看懂
安全·测试
Darling噜啦啦2 天前
别再"盲盒式"调 Agent 了!LangSmith 全链路观测 + RAG 量化评估实战(LangGraph × Milvus)
agent·测试
是2的10次方啊2 天前
超时了,然后呢?——聊聊 HTTP / Dubbo 超时后,客户端、服务端与 C 端用户的真实感受
http·dubbo
March.s3 天前
Kubernetes 全景导览:从部署演进到云原生底座
云原生·kubernetes·dubbo