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最核心的操作:启动浏览器、打开网页、定位元素、操作元素和关闭浏览器。你可以基于这个框架扩展更复杂的自动化测试脚本。

相关推荐
liulilittle16 小时前
mock 规范总纲
ai·自动化·llm·mock·测试·tools
奔跑中的小象16 小时前
GuideLLM 压测实战指南:给大模型推理服务做一次完整 SLA 评估
测试工具·guidellm
liulilittle18 小时前
麻将结算全链路语义(SETTLE_SEMANTICS)
ai·自动化·llm·mock·lua·测试
cpolar技术支持19 小时前
本地 Playwright 测试报告怎么远程复盘?Trace Viewer 跑起来后,用 cpolar 分享失败现场
前端·自动化测试·测试工具·cpolar·playwright
liulilittle20 小时前
麻将服务器崩溃补偿与异常处理语义(CRASH_SEMANTICS)
ai·自动化·llm·mock·lua·测试·tools
liulilittle20 小时前
麻将 UI 层可观察行为(UI_BEHAVIOR)
ai·自动化·llm·mock·lua·测试·tools
liulilittle21 小时前
麻将节点间路由转发链:失败回退与错误传播语义(ROUTE_SEMANTICS)
ai·自动化·llm·mock·测试·script·tools
liulilittle1 天前
mock 框架架构
ai·架构·自动化·llm·mock·测试·tools
liulilittle1 天前
C++ 引擎接口到 mock 的映射(INTERFACE_MAP)
ai·自动化·llm·mock·lua·测试·tools
我要学脑机1 天前
软件测试体系笔记:从模型到落地
测试