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

相关推荐
桃子叔叔7 小时前
爬虫实战|Scrapy+Selenium 批量爬取汽车之家海量车型外观图(附完整源码)一
爬虫·selenium·scrapy
AI绘画小338 小时前
Web 安全核心真相:别太相信任何人!40 个漏洞挖掘实战清单,直接套用!
前端·数据库·测试工具·安全·web安全·网络安全·黑客
一缕猫毛10 小时前
JUnit单元测试
junit·单元测试
测试界的海飞丝1 天前
10道软件测试面试题及其答案:
服务器·测试工具·职场和发展
REDcker1 天前
tcpdump 网络数据包分析工具完整教程
网络·测试工具·tcpdump
不带刺仙人球1 天前
list.stream().collect例子
java·list·dubbo
2401_861277551 天前
适合使用判定表设计测试用例的条件,如何使用判定表构造测试用例,举例说明
功能测试·单元测试·测试用例
少云清1 天前
【功能测试】6_Web端抓包 _Fiddler抓包工具的应用
前端·功能测试·fiddler
程序员念姐1 天前
软件测试系统流程和常见面试题
测试工具·面试
Hacker_Oldv1 天前
Python技能进阶:探索Selenium库,实现网页自动化测试与爬虫
自动化测试·软件测试·爬虫·python·selenium·职场和发展